欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python中str和int区别_Python如何比较string和int?

发布时间:2025/4/16 python 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python中str和int区别_Python如何比较string和int? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

python 2 manual:

CPython implementation detail: Objects of different types except numbers are ordered by their type names; objects of the same types that don’t support proper comparison are ordered by their address.

当您订购两个字符串或两个数字类型时,排序是以预期的方式完成的(字符串的字典排序,整数的数字排序)。

当您订购数字和非数字类型时,数字类型优先。

>>> 5 < 'foo'

True

>>> 5 < (1, 2)

True

>>> 5 < {}

True

>>> 5 < [1, 2]

True

当您订购两个不兼容的类型(两者都不是数字)时,它们按其类型名的字母顺序排序:

>>> [1, 2] > 'foo' # 'list' < 'str'

False

>>> (1, 2) > 'foo' # 'tuple' > 'str'

True

>>> class Foo(object): pass

>>> class Bar(object): pass

>>> Bar() < Foo()

True

一个例外是旧式类,它总是在新式类之前。

>>> class Foo: pass # old-style

>>> class Bar(object): pass # new-style

>>> Bar() < Foo()

False

Is this behavior mandated by the language spec, or is it up to implementors?

Otherwise, objects of different types always compare unequal, and are ordered consistently but arbitrarily.

所以这是一个实现细节。

Are there differences between any of the major Python implementations?

我不能回答这一个,因为我只使用官方的CPython实现,但还有其他的Python实现,如PyPy。

Are there differences between versions of the Python language?

在Python 3.x中,行为已经改变,因此尝试排序整数和字符串将引发错误:

>>> '10' > 5

Traceback (most recent call last):

File "", line 1, in

'10' > 5

TypeError: unorderable types: str() > int()

总结

以上是生活随笔为你收集整理的python中str和int区别_Python如何比较string和int?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。