为什么此代码在 return 为真时也 return 为假?
Why doesn't this code also return False when it returns True?
return true
语句仅在 if
语句为真时执行,但代码 return False
也不应该执行,而不管 if
语句因为它没有缩进?我不明白这是怎么回事...
def booll(x):
if x == 0:
return True
return False
好吧,函数执行在它 returns 一个值时结束。因此,当函数返回 True
时,它的执行已停止,因此不会转到下一行。
如果想让函数'return'多次,可以使用yield
关键字,这样:
def booll(x):
if x == 0:
yield True
yield False
当到达return
语句时,函数的执行结束。
在您的代码中,如果您的 if
条件为假,则每次调用代码时都会执行短语 return False
。
和return False
完全独立于if
语句。并且当到达第一个 return statement
时函数执行停止。
您给出的代码与 if else
块的代码相似。
def booll(x):
if x == 0:
return True
else:
return False
确保缩进正确,否则会 运行 出错。
我不清楚您要执行的逻辑是什么。你能再解释一下吗?
当函数返回输出时,该方法会从调用堆栈中弹出,因此不会进一步执行
该函数将 仅 return 一次,在任一场景中:
- 如果满足
if
语句,则 returns True
并且
函数结束。
- 如果
if
语句不满足,则运行结束
函数和 return False
.
当您调用 return 时,它 停止 函数并退出并返回提供给 return
的值。
例如,
def return_example():
print("This runs")
return 0
print("This doesn't run")
在示例中,函数打印“this 运行s”,然后以值 0 退出。在您的示例中,booll
returns True
如果 x == 0
。如果 x == 0
,则 booll
退出 并 True
。如果 x
不是 0
,那么它 return 就是 False
。 return True
没有 运行.
return true
语句仅在 if
语句为真时执行,但代码 return False
也不应该执行,而不管 if
语句因为它没有缩进?我不明白这是怎么回事...
def booll(x):
if x == 0:
return True
return False
好吧,函数执行在它 returns 一个值时结束。因此,当函数返回 True
时,它的执行已停止,因此不会转到下一行。
如果想让函数'return'多次,可以使用yield
关键字,这样:
def booll(x):
if x == 0:
yield True
yield False
当到达return
语句时,函数的执行结束。
在您的代码中,如果您的 if
条件为假,则每次调用代码时都会执行短语 return False
。
和return False
完全独立于if
语句。并且当到达第一个 return statement
时函数执行停止。
您给出的代码与 if else
块的代码相似。
def booll(x):
if x == 0:
return True
else:
return False
确保缩进正确,否则会 运行 出错。 我不清楚您要执行的逻辑是什么。你能再解释一下吗?
当函数返回输出时,该方法会从调用堆栈中弹出,因此不会进一步执行
该函数将 仅 return 一次,在任一场景中:
- 如果满足
if
语句,则 returnsTrue
并且 函数结束。 - 如果
if
语句不满足,则运行结束 函数和 returnFalse
.
当您调用 return 时,它 停止 函数并退出并返回提供给 return
的值。
例如,
def return_example():
print("This runs")
return 0
print("This doesn't run")
在示例中,函数打印“this 运行s”,然后以值 0 退出。在您的示例中,booll
returns True
如果 x == 0
。如果 x == 0
,则 booll
退出 并 True
。如果 x
不是 0
,那么它 return 就是 False
。 return True
没有 运行.