Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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
为什么';t Python逻辑不';你不总是评价得很糟糕吗?_Python_Python 2.7_Logical Operators - Fatal编程技术网

为什么';t Python逻辑不';你不总是评价得很糟糕吗?

为什么';t Python逻辑不';你不总是评价得很糟糕吗?,python,python-2.7,logical-operators,Python,Python 2.7,Logical Operators,在Python中,我非常习惯使用逻辑运算符和和或,并且有这样一种印象,即在运行时,它们只需使用左右值进行计算,并替换为True或False 我最近发现情况并非如此。考虑: >>> False or 10 10 我看到了用例。在这里,如果您有一个函数在出现故障时返回值或False,则上述函数允许您使用默认的回退值。但是使用和: >>> True and re.match("s", "s") <_sre.SRE_Match object at 0x19f9

在Python中,我非常习惯使用逻辑运算符
,并且有这样一种印象,即在运行时,它们只需使用左右值进行计算,并替换为
True
False

我最近发现情况并非如此。考虑:

>>> False or 10
10
我看到了用例。在这里,如果您有一个函数在出现故障时返回值或
False
,则上述函数允许您使用默认的回退值。但是使用

>>> True and re.match("s", "s")
<_sre.SRE_Match object at 0x19f9098>
用Python文档的话说:

这有时很有用,例如,如果s是一个应该 替换为默认值


doc.

因为除了布尔逻辑之外,
运算符还有其他用途。关于你的最后一个问题,我想我从来没有使用过
bool
,除了在解释器中检查一些不熟悉的类型是否真实。
>>> bool(True and re.match("s", "s"))
True