Python类型比较表

时间:2012-07-19 02:22:26

标签: python python-3.x

PHP有'PHP type comparison tables'是否有类似Python的东西?

2 个答案:

答案 0 :(得分:5)

是的,这里(也包括在下面): http://imgur.com/3rOmPD0

来自https://twitter.com/ngkabra/status/449904315012878337 enter image description here

答案 1 :(得分:4)

Python是强类型的;除了基本数字类型和基本字符串类型之外,不需要这样的表。对于数字类型,根据需要,它们会被强制转换为long(在2.x中)或float。对于字符串类型,事情并不那么简单,因此应尽可能使用unicode(在2.x中)。

>>> 3 > 2.4
True
>>> 'a' < u'あ'
True
>>> u'a' < 'あ'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)

2.x中不兼容类型的比较将无法按预期执行。

>>> 2 < '3'
True
>>> 3 < '2'
True

3.x中不兼容类型的比较将失败。

3>> 2 < '3'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()