Python鞏固基礎02-基本資料型別之資料型別間的轉換
阿新 • • 發佈:2022-03-06
在python中,資料型別轉換分為隱式型別轉換和顯式型別轉換,隱式型別轉換即python自動進行的轉換,一般發生在整數int
和浮點數float
之間。而顯式型別轉換則是無法進行自動轉換,需要手動通過內建函式進行不同資料型別的轉換。
隱式型別轉換
>>> 3 + 8
11
>>> 3 + 8.1
11.1
顯式型別轉換
int(x, [base])
將x轉換為十進位制的整數(直接取整數部分,無四捨五入,相當於向下取整);base引數指定x是什麼進位制數,可選,預設為10;如果只有一個引數,x可以為數字或字串,如果要指定base,x需要為字串(字串中需為數字)。
>>> int(3.9) 3 >>> int('34') 34 # 將八進位制的12轉換為十進位制數 >>> int('12', 8) 10 >>> int('101', 2) 5
float(x)
,將x轉換為浮點數,x可以為數字或字串(字串中需為數字)。
>>> float(5)
5.0
>>> float('18')
18.0
str(x)
將物件x轉換為字串,x可以為數字、list、tuple、dict、set。
>>> str(9)
'9'
>>> str([1, 2])
'[1, 2]'
>>> str({'a': 'm'})
"{'a': 'm'}"
>>> str({1, 2})
'{1, 2}'
eval(str)
計算出字串中的有效表示式,返回該表示式。
>>> eval('{1, 2}')
{1, 2}
>>> eval('3+2')
5
tuple(s)
將s轉換為一個元組,s需要為可迭代序列。
>>> tuple('hello')
('h', 'e', 'l', 'l', 'o')
>>> tuple({'a': 1, 'b': 2})
('a', 'b')
list(s)
將s轉換為一個列表,s需要為可迭代序列。
>>> list('hello') ['h', 'e', 'l', 'l', 'o'] >>> list({'a': 1, 'b': 2}) ['a', 'b']
set(s)
將s轉換為集合,s需要為可迭代序列,會對s中的元素進行去重。
>>> set('hello')
{'h', 'e', 'l', 'o'}
>>> set({'a': 1, 'b': 2})
{'b', 'a'}
dict(d)
建立一個字典,d必須為鍵值對或可迭代物件。
# 關鍵字引數
>>> dict(x=1, y=2)
{'x': 1, 'y': 2}
# 可迭代物件
>>> dict([('a', 1), ('b', 2)])
{'a': 1, 'b': 2}
# 可迭代物件+關鍵字引數
>>> dict([('a', 1), ('b', 2)], c=3)
{'a': 1, 'b': 2, 'c': 3}
chr(i)
返回i對應的ascii字元,i為十進位制或十六進位制的數字。
>>> chr(97)
'a'
>>> chr(48)
'0'
>>> chr(0x30)
'0'
ord(c)
接收一個字元,返回對應的ascii數值,或者unicode數值,可以與chr(i)
配套使用。
>>> ord('a')
97
>>> ord('A')
65
>>> ord('0')
48
hex(x)
將整數轉換為十六進位制字串,x只能為整數。
>>> hex(12)
'0xc'
>>> hex(16)
'0x10'
oct(x)
將整數轉換為八進位制字串,x只能為整數。
>>> oct(8)
'0o10'
>>> oct(9)
'0o11'