4

PHP 有“PHP 类型比较表”,Python 有类似的东西吗?

4

2 回答 2

5

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

来自https://twitter.com/ngkabra/status/449904315012878337在此处输入图像描述

于 2014-08-05T13:13:08.310 回答
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()
于 2012-07-19T02:29:02.257 回答