python 2.x中对象比较大小

本文介绍了Python中不同类型的对象之间的比较规则,包括非数值对象按类型名排序、数值对象小于非数值对象以及old-style对象与new-style对象之间的比较,并提到了Python 3.x中的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from manual
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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值