当条件不是陈述时,"条件"是什么意思?

Ste*_*ith 1 python

我正在学习目前的功能,并以此为例:

def a(x, y, z):
     if x:
         return y
     else:
         return z
Run Code Online (Sandbox Code Playgroud)

不过,我不确定究竟if x是什么意思.x只是一个参数,而不是一个陈述,那么它怎么可能是真的还是假的?

Eri*_*nil 6

它检查x是否为"truthy",这意味着它不应该是:

  • 没有

举个例子 :

if 1 and True and "string" and ["list"] and {'key' : 'value'} and\
    not None and not 0 and not False and not "" and not [] and not {}:
  print "I understood truthiness!"
# => I understood truthiness!
Run Code Online (Sandbox Code Playgroud)

  • @SteveSmith:因为`True`,当被评估为整数时,意味着"1",而"1"与"2"不同.整数和逻辑值(布尔值)之间的操作通常被视为整数之间的操作.要将诸如"2"之类的整数转换为逻辑值,请使用"bool(2)",其值为"True",而"bool(0)"为"False". (2认同)