我的问题是关于这条语句我在网上读到的内容是“跟在‘if语句’后面的行,与‘if语句’处于相同缩进位置的行将始终运行,而不管‘if语句’是真是假。”我将用下面的例子来说明这一点。在
所以我有一个过程,它接受两个数字作为输入,并返回两个输入中较大的一个。在
因此,第一个示例中的第4行和第5行代码(它们与“if a>;b:”处于相同的缩进级别)应始终按照上述语句运行。在
示例1def bigger(a,b):
if a>b:
x = "the first number is bigger"
x = "the second number is bigger"
return x
print bigger(9,7)
Python输出“第二个数字更大”,因此代码是根据我在开头写的原始语句工作的。尽管这是错误的,因为9>;7。在
但在以下示例中使用return语句时,我会感到困惑:
例2
^{pr2}$
这一次,Python打印“第一个数字更大”。这是真的,因为9>;7
我的困惑是:第二个例子中的第四行代码“return”第二个数字更大”,不是应该一直运行,因为它与“if语句”的缩进级别相同,就像我们在示例1中看到的那样?在
这两个代码示例似乎相互矛盾,因为在示例1中,Python识别“第二个数字更大”行并打印该行,但在示例2中,Python忽略“第二个数字更大”行,而打印另一个“第一个数字更大”行。在
我尽量把这件事讲清楚。谢谢