夏季期中问题,仍然无法解决,
如果有人可以向我解释我会很高兴
if print(8):
print(10000)
它显示8,我不明白为什么?
答案 0 :(得分:4)
if print(8):
print(10000)
解释器执行的操作:
print(8)
->您会在终端机上看到8
print()
始终返回None
if None:
print(10000)
None
是一个虚假值,因此不会进入if块内部答案 1 :(得分:3)
一条if
语句将首先计算if
关键字旁边的表达式。 print(8)
这样。 print(8)
因此将8
打印到标准输出通道,并返回None
。
然后,if
语句将评估该值的“真实性”。 None
的真实性为False
。因此,意味着if
条件中的条件不是真实的,因此对主体(print(10000)
)的评估不是 。因此它将打印8
,但不会打印{em> 10000
。
文档中有一个fiddle。如文档所述:
- 常量将定义为假:
None
和False
。