python:if语句后面跟一个变量(word)

时间:2016-03-31 17:29:54

标签: python python-3.x

我想知道' dec' in" if dec:"意味着在第3行

  1 def dec2bin(dec):
  2         result=''
  3         if dec:                                                             
  4                 result = dec2bin(dec//2)
  5                 return result + str(dec%2)
  6         else:
  7                 return result
  8 print(dec2bin(62))

1 个答案:

答案 0 :(得分:4)

if dec正在使用名称dec检查值的真实性。

在您的情况下,dec是一个数字,当且仅当它等于0.0或0时,它将评估为False(或更准确地说,bool(dec)将为False

如果数字dec不是0.0或0,则递归调用dec2bin,否则执行else子句并返回结果。

您可以使用内置的bool函数检查值的真实性。根据经验,零值和任何类型的空容器都是假的:

>>> bool(23)
True
>>> bool(0.0)
False
>>> bool([])
False
>>> bool([1,2,3])
True
>>> 
>>> if 23:
...     'will show'
... 
'will show'
>>> if 0:
...     'wont show'
... 
>>>