Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python type comparison table

PHP has 'PHP type comparison tables' is there anything like that for Python?

like image 395
Daniel Sokolowski Avatar asked Jan 16 '23 01:01

Daniel Sokolowski


2 Answers

Yes, here (also included image below): http://imgur.com/3rOmPD0

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

like image 113
Ellis Percival Avatar answered Jan 24 '23 20:01

Ellis Percival


Python is strongly typed; such a table is not required except between basic numeric types and basic string types. For numeric types, they are coerced to long (in 2.x) or float as required. For string types, things are not as simple and so unicode (in 2.x) should be used where possible.

>>> 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)

Comparison across incompatible types in 2.x will not act as you expect.

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

Comparison across incompatible types in 3.x will fail.

3>> 2 < '3'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: int() < str()
like image 37
Ignacio Vazquez-Abrams Avatar answered Jan 24 '23 19:01

Ignacio Vazquez-Abrams