Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เมธอดการแปลงชนิดข้อมูล (Data Conversion) ใน Python

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}

ตารางสรุป

ฟังก์ชันInputOutput
int()str, float, boolint
float()int, strfloat
complex()int, float, strcomplex
str()Anystr
list()iterablelist
tuple()iterabletuple
dict()iterable of pairs, kwargsdict
set()iterableset
frozenset()iterablefrozenset
bool()Anybool