python 2.x中对象比较大小

python 2.x中对象比较大小_第1张图片
1.当两个非数值对象进行比较时,通过它们的类型名进行排序:

>>> [1, 2] > 'foo'   # 'list' < 'str' 
False
>>> (1, 2) > 'foo'   # 'tuple' > 'str'
True

>>> class Foo(object): pass
>>> class Bar(object): pass
>>> Bar() < Foo()
True

2.当数值对象与非数值对象进行比较时,数值对象<非数值对象

>>> 5 < 'foo'
True
>>> 5 < (1, 2)
True
>>> 5 < {}
True
>>> 5 < [1, 2]
True

3.old-style型的对象>new-style型的对象

>>> class Foo: pass           # old-style
>>> class Bar(object): pass   # new-style
>>> Bar() < Foo()
False

在python 3.x中,比较的规则发生了变化,比如,将整型和字符串放在一起比较会报错。

>>> '10' > 5
Traceback (most recent call last):
  File "", line 1, in 
    '10' > 5
TypeError: unorderable types: str() > int()

你可能感兴趣的:(python)