为什么此代码在 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 就是 Falsereturn True 没有 运行.