在这种情况下,条件语句有点没有意义(除了一些非常奇怪的情况,比如覆盖 的等于/整数/布尔值number
)。
基本上你现在正在做的事情是这样的:
def number(number):
if number:
return number
else:
return number == 3
如果有一个and
它会很有用,现在它是没有意义的。
or 可以像这样有用:
return spam or eggs
如果 spam 不为空,它将返回垃圾邮件,否则将返回鸡蛋。
插图顺便说一句:
>>> for number in range(5):
... print 'number', number, number or number == 3
number 0 False
number 1 1
number 2 2
number 3 3
number 4 4
长版number and number == 3 or 5
def number(number):
if number and number == 3:
return 3
else:
return 5
这spam and spam.eggs
东西很有用,因为如果它spam
不会None
执行spam.eggs
通常会给出AttributeError
.