2017-09-29 44 views
-5

bool(float('0.0')) - >返回False?为什么?Python :: bool(float('0.0')) - >返回False?为什么?

虽然我可以很容易地没有任何异常类型的案件float('0.0')0.0

+0

临尖:逆的工作原理相同:'浮子(假) - > 0.0'。 '0'是* falsy *。 –

+1

0在Python中是虚假的,不是吗?什么例外? – Carcigenicate

+0

“type case”是什么意思?你想知道为什么'bool'返回一个布尔值,或者你认为是真的吗? – MSeifert

回答

0

通常,在许多编程语言的0数值被视为转换为逻辑False。反之,也可以尝试bool(float('0.1')),看看它的评估,以True(如0.1 != 0)。

0

任何对象都可以用于真值在if或while条件或如下的布尔运算的操作数进行测试,以供使用。下面的值被认为是假的:

None 

False 

zero of any numeric type, for example, 0, 0L, 0.0, 0j. 

any empty sequence, for example, '',(), []. 

any empty mapping, for example, {}. 

instances of user-defined classes, if the class defines a __nonzero__() or __len__() method, when that method returns the integer zero or bool value False.2.5 

所有其他值被认为是真实的 - 这么多类型的对象总是如此。

+0

浮子( '0.0'),给我一个浮子对象 - >型,问题是如何做布尔(浮( '0.1')) - >真,其中如布尔(浮动( '0.0')) - >假, float('0.0')也返回类型(在cmd行中测试...) –