Python 3简单if-else概念疑问:为何代码仅输出True?
问题解答
函数里的return语句有个关键特性:一旦执行到return,函数会立刻停止运行,直接返回指定的值,后面的所有代码都不会再执行。
拿你的代码举例:
def is_even(number): if number % 2 == 0: return True return False print(is_even(2))
当调用is_even(2)时:
- 传入的
number是2,2%2==0条件成立,进入if块执行return True。 - 这时候函数直接终止,返回
True,后面的return False根本没机会运行,所以最终只输出True。
如果调用的是is_even(3):
3%2==0条件不成立,跳过if块,才会执行后面的return False,函数返回False。
这种写法其实和带else的版本功能完全一致,只是省略了else关键字而已——只有if条件不满足时,才会走到后续的return语句。
内容的提问来源于stack exchange,提问作者Shaurya Gupta
相关产品推荐
相关产品推荐

