Python,如果具有打印方法条件

时间:2019-08-03 13:48:45

标签: python python-3.x

夏季期中问题,仍然无法解决,

如果有人可以向我解释我会很高兴

if print(8):
    print(10000) 

它显示8,我不明白为什么?

2 个答案:

答案 0 :(得分:4)

if print(8):
    print(10000) 

解释器执行的操作:

  1. 运行print(8)->您会在终端机上看到8
  2. 获取函数的返回值-> print()始终返回None
  3. 将返回值置于if语句的条件下
  4. 评估:
if None:
    print(10000)
  1. 由于None是一个虚假值,因此不会进入if块内部
  2. 退出程序

答案 1 :(得分:3)

一条if语句将首先计算if关键字旁边的表达式。 print(8)这样。 print(8)因此将8打印到标准输出通道,并返回None

然后,if语句将评估该值的“真实性”。 None的真实性为False。因此,意味着if条件中的条件不是真实的,因此对主体(print(10000))的评估不是 。因此它将打印8,但不会打印{em> 10000

文档中有一个fiddle。如文档所述:

  
      
  • 常量将定义为假 None False
  •