为什么这两者的评价不同?
In [34]: a = ''
In [35]: if a or a >=0:
print 'y'
....:
y
In [36]: a = None
In [37]: if a or a >=0:
print 'y'
....:
我认为一个空字符串也会计算为None(我知道它们不一样)?或者它只是假的,因此评估为0(如果测试像if a: do something
那么评估为无)?
答案 0 :(得分:0)
这是因为在CPython int
之前string
来自docs:
CPython实现细节:除了数字之外的不同类型的对象按其类型名称排序;不支持正确比较的相同类型的对象按其地址排序。
这样:
>>> '1' > 1
True