Python มีฟังก์ชัน Built-in สำหรับแปลงชนิดข้อมูลระหว่างกัน
Numeric Conversions
int(x[, base])
>> int('11')
11
>>> int(11.15) # truncate ทศนิยม
11
>>> int('20', 8) # base 8 (octal)
16
>>> int('20', 16) # base 16 (hex)
32
float(x)
>> float(11)
11.0
>>> float('11.11')
11.11
complex(real[, imag])
>> complex(2.5, 3.5) (2.5+3.5j) >>> complex(5) (5+0j)
Sequence/Collection Conversions
str(x)
>> str(10) # int → str
'10'
>>> str([1, 2, 3]) # list → str
'[1, 2, 3]'
>>> str((1, 2, 3)) # tuple → str
'(1, 2, 3)'
>>> str({'a': 1}) # dict → str
"{'a': 1}"
list(x)
>> list("abc")
['a', 'b', 'c']
>>> list((1, 2, 3))
[1, 2, 3]
>>> list({'a': 1, 'b': 2}) # dict keys only
['a', 'b']
tuple(x)
>> tuple("abc")
('a', 'b', 'c')
>>> tuple([1, 2, 3])
(1, 2, 3)
>>> tuple({'a': 1, 'b': 2})
('a', 'b')
dict(x) - จาก iterable ของ pairs
>> dict([(1, 1), (2, 2)])
{1: 1, 2: 2}
>>> dict(zip(['a', 'b'], [1, 2]))
{'a': 1, 'b': 2}
>>> dict(a=1, b=2) # keyword args
{'a': 1, 'b': 2}
ตารางสรุป
| ฟังก์ชัน | Input | Output |
|---|---|---|
| int() | str, float, bool | int |
| float() | int, str | float |
| complex() | int, float, str | complex |
| str() | Any | str |
| list() | iterable | list |
| tuple() | iterable | tuple |
| dict() | iterable of pairs, kwargs | dict |
| set() | iterable | set |
| frozenset() | iterable | frozenset |
| bool() | Any | bool |