Gab*_*lin 5 python int boolean
在PHP中,您使用===
符号来测试TRUE
或FALSE
区别于1
或0
.
例如,if FALSE == 0
返回TRUE
,if FALSE === 0
返回FALSE
.因此,当在基数0中进行字符串搜索时,如果所讨论的子字符串的位置在开头就是正确的,那么您可以0
从中区分出哪些PHP FALSE
.
有没有办法在Python中这样做?
Amb*_*ber 18
在Python中,
的is
身份操作测试(False is False
,0 is not False
).
==
测试逻辑相等(因此0 == False
)的运算符.
从技术上讲,这些都不完全等同于PHP ===
,它比较了逻辑相等和类型 - 在Python中,它就是a == b and type(a) is type(b)
.
is
和之间的一些其他差异==
:
{} == {}
,但{} is not {}
(对于列表和其他可变类型也是如此)a = {}
,那么a is a
(因为在这种情况下它是对同一实例的引用)"a"*255 is not "a"*255"
,但"a"*20 is "a"*20
在大多数实现中,由于Python处理字符串实习的方式.但是,不保证这种行为,is
在这种情况下您可能不应该使用."a"*255 == "a"*255
并且几乎总是正确的比较使用.12345 is 12345
但12345 is not 12345 + 1 - 1
在大多数实施中,类似地.您几乎总是希望在这些情况下使用相等性.if something is False:
Run Code Online (Sandbox Code Playgroud)
是你应该做的
if something is None:
Run Code Online (Sandbox Code Playgroud)
也有效
道德是使用is
......(虽然你永远不应该这样做something is 123457
,或者类似)
为什么你不应该用整数和东西来做这件事,请参阅http://ideone.com/iKmWCn
归档时间: |
|
查看次数: |
5791 次 |
最近记录: |