ホームページ >バックエンド開発 >Python チュートリアル >Python中字符和数字之间是怎么比较大小的?

Python中字符和数字之间是怎么比较大小的?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-06 16:24:222542ブラウズ

回复内容:

@闫航 的回答不对。

参考5. Built-in Types中的说明,CPython按照如下规则进行比较(自己的总结):

  1. 任何两个对象都可以比较
  2. 相同类型的对象(实例),如果是数字型(int/float/long/complex),则按照简单的大小来比较;如果是非数字型,且类(型)中定义了__cmp__(含__gt__,__lt__等)则按照__cmp__来比较,否则按照地址(id)来比较
  3. 不同类型的对象(实例),如果其中一个比较对象是数字型(int/float/long/complex等),则数字型的对象 [1,2], "abc"
  4. 对于自定义的类(型)实例,如果继承自基本类型,则按照基本类型的规则比较(1-3)。否则,old-style class
  5. bool类型是int的子类,且True=1, False=0,比较时按照1-4来比较,如True > -1, True
上面的回答是针对Python2.x,3.x的有较大的变化,如str和int比较时会抛出异常等。

回到题目,字符和数字的比较符合规则3,所以数字100
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。