Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python::bool(float(';0.0';)->;返回False?为什么?_Python_Python 2.7 - Fatal编程技术网

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

Python::bool(float(';0.0';)->;返回False?为什么?,python,python-2.7,Python,Python 2.7,bool(float('0.0'))->返回False?为什么? 然而,我可以轻松地将casefloat('0.0')键入为0.0,没有任何例外。通常在许多编程语言中,0的数值被视为可转换为逻辑False。相反,您可以尝试bool(float('0.1')),并看到它的计算结果为True(as0.1!=0)。可以测试任何对象的真值,以便在if或while条件下使用,或者用作下面布尔运算的操作数。以下值被认为是错误的: None False zero of any numeric type,

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


然而,我可以轻松地将case
float('0.0')
键入为
0.0
,没有任何例外。

通常在许多编程语言中,
0
的数值被视为可转换为逻辑
False
。相反,您可以尝试
bool(float('0.1'))
,并看到它的计算结果为
True
(as
0.1!=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

所有其他值都被认为是真的——因此许多类型的对象总是真的

专业提示:反向工作原理相同:
float(False)->0.0
0
是falsy.0在Python中是假的,不是吗?什么例外?你说的“类型案例”是什么意思?奇怪的是,你想知道为什么
bool
返回一个布尔值,或者你期望的是真的吗?你可能会觉得
bool(表达式)
的意思是“这个表达式可以计算而不崩溃吗?”在这种情况下,你可能会对
bool(float('0.0'))
float时计算为False感到困惑('0.0')
本身不会崩溃。但这不是bool所做的。float('0.0')给我一个float对象->类型,问题是bool(float('0.1'))->True如何,其中作为bool(float('0.0'))->False,float('0.0')也返回类型(在cmd行中测试…)