我想知道' 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))
答案 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'
...
>>>