返回值
return 从函数里交出一个值。cups_left 收到 started 和 drank,交出 started - drank。所以 cups_left(3, 1) 就是数字 2。
print 在函数外面,写出交出来的东西。cups_left 自己没有 print。
def cups_left(started, drank):
return started - drank
print(cups_left(3, 1))
屏幕上是 2。这是 print 写的,不是 cups_left。换别的数字,交出来的就是那个差。cups_left(3, 3) 是 0,因为 3 - 3 等于 0。
return 下面的一行仍然缩进,也属于函数。它还是不运行。return 立刻离开函数,Python 到不了那一行。
def cups_left(started, drank):
return started - drank
print("done")
print(cups_left(3, 1))
屏幕上是 2。done 没有被写出来。print("done") 缩进在 def 下面,但 return 已经离开了函数。
没有 return,就没有值交出来,结果是 None。None 的意思是没有值。greet 写出名字,自己没有 return。屏幕上的 lida 来自里面的 print。greet("lida") 本身的结果是 None。
def greet(name):
print(name)
print(greet("lida"))
屏幕上先是 lida,然后是 None。greet 写出了 lida。外面的 print 写出了结果。这个结果是 None,因为 greet 没有 return。
三次使用,以及每一次交出来的东西。greet 那一行的结果是 None,虽然屏幕上也有 lida。这个 lida 是里面的 print,不是结果。
📊 交出来的是什么
| 使用 | 结果 |
|---|---|
| cups_left(3, 1) | 2 |
| cups_left(3, 3) | 0 |
| greet("lida") 没有 return | None |
下一页说一个名字能用到哪里。这里只看交出来的值。
先看再答
- print(cups_left(3, 1)) 写出什么?
- cups_left(3, 3) 是什么?
- print("done") 在 return 下面。done 会写出来吗?
- greet 只写名字。print(greet("lida")) 写出哪两行?
交出来的值
return started - drank 让结果成为这个数字。print(cups_left(3, 1)) 写出 2,cups_left(3, 3) 是 0。return 下面的一行不运行,所以 done 不会出现。没有 return 时,print(greet("lida")) 先写 lida,再写 None。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部