这个为什么返回是0呀
def print_nums():for i in range(10):
print(i)
return
print_nums()
for循环 第一次,i = 0,return 就返回了,所以 i等于0.并不是返回了0 xls6688 发表于 2023-5-6 15:02
for循环 第一次,i = 0,return 就返回了,所以 i等于0.并不是返回了0
我表达错了,为什么i = 0,呀,return终止循环了吗 hahadaxiao 发表于 2023-5-6 15:19
我表达错了,为什么i = 0,呀,return终止循环了吗
return在某些场合,要比break霸道的多 hahadaxiao 发表于 2023-5-6 15:19
我表达错了,为什么i = 0,呀,return终止循环了吗
它不会终止循环,它会终止整个函数 这个函数print_nums()在执行过程中会遇到return语句。当return语句被执行时,函数会立即终止,并返回到调用它的地方。在这个例子中, return语句没有明确的返回值,所以它会默认返回None 。
你的函数是这样定义的:
def print_nums():
for i in range(10):
print(i)
return
当你调用print_nums()时, for循环会开始执行。在第一次迭代时, i的值为 0,然后它会执行print(i)语句,所以会在屏幕上输出 0。紧接着,函数遇到了return语句,所以它会立即终止并返回。因此,你在调用print_nums()之后看到的输出是 0。
需要注意的是,你提到返回值是 0,实际上这个函数的返回值是None 。你看到的 0 是因为print(i)语句在函数内执行了。如果你想查看这个函数的返回值,可以这样做:
result = print_nums()
print(result)
这样你会看到输出如下:
0
None
这表示print_nums()函数打印了 0(由于print(i)语句),并返回了None 。 hahadaxiao 发表于 2023-5-6 15:19
我表达错了,为什么i = 0,呀,return终止循环了吗
是的,return直接终止函数
页:
[1]