基礎(chǔ)數(shù)據(jù)類型轉(zhuǎn)換
- 數(shù)據(jù)類型轉(zhuǎn)換的形式
- 自動(dòng)類型轉(zhuǎn)換
- 強(qiáng)制類型轉(zhuǎn)換
- 可變數(shù)據(jù)類型: 列表真竖, 字典, 集合
- 不可變數(shù)據(jù)類型 ; 字符串, 數(shù)字堪旧, 元組
- 容器數(shù)據(jù)類型:字符串,列表男图,元組挠铲,字典,集合
- 非容器數(shù)據(jù)類型:數(shù)字
1.自動(dòng)類型轉(zhuǎn)換
a = True
b = 2
c = 3.14
d = 1+2j
print(a + b, type(a + b))
print(b + c, type(b + c))
print(c + d, type(c + d))
- 當(dāng)兩個(gè)不用的數(shù)值進(jìn)行運(yùn)算時(shí),結(jié)果會(huì)向更高精度進(jìn)行計(jì)算
2.強(qiáng)制類型轉(zhuǎn)換
a = 'abc'
b = '123'
c = 456
d = 3.14
e = True
f = [1, 2, 'a', 'b']
g = (1, 2, 'a', 'b')
h = {1:'a', 2:'b'}
i = {1, 2, 'a', 'b'}
# 字符串類型
s = [a, b, c, d, e, f, g, h, i]
for x in range(0, 9):
print(s[x], type(s[x]), '---->', str(s[x]), type(str(s[x])))
# 整型
print()
s = [b, d, e]
for x in range(0, 3):
print(s[x], type(s[x]), '---->', int(s[x]), type(int(s[x])))
# 浮點(diǎn)型
print()
s = [b, c, e]
for x in range(0, 3):
print(s[x], type(s[x]), '---->', float(s[x]), type(float(s[x])))
# 布爾類型
print()
s = [a, b, c, d, e, f, g, h, i]
for x in range(0, 9):
print(s[x], type(s[x]), '---->', bool(s[x]), type(bool(s[x])))
z = ['', 0, 0.0, False, [], (), {} , set()]
for x in range(0, 7):
print(z[x], type(z[x]), '---->', bool(z[x]), type(bool(z[x])))
#列表類型
print()
s = [a, b, f, g, h, i]
for x in range(0, 6):
print(s[x], type(s[x]), '---->', list(s[x]), type(list(s[x])))
#元組類型
print()
s = [a, b, f, g, h, i]
for x in range(0, 6):
print(s[x], type(s[x]), '---->', tuple(s[x]), type(tuple(s[x])))
# 集合類型
print()
s = [a, b, f, g, h, i]
for x in range(0, 6):
print(s[x], type(s[x]), '---->', set(s[x]), type(set(s[x])))
# 字典類型
print()
l = [(1, 'a'), (2, 'b')]
m = ((1, 'a'), [2, 'b'])
n = {(1, 'a'), (2, 'b')}
o = [((1, 2, 3), ('a', 'b', 'c')), (('d', 'e', 'f'), (4, 5, 6))]
s = [l, m, n, o]
for x in range(0, 4):
print(s[x], type(s[x]), '---->', dict(s[x]), type(dict(s[x])))
- 數(shù)字類型之間可以互相轉(zhuǎn)換
- 字符串類型轉(zhuǎn)換為整型或浮點(diǎn)類型時(shí)躯泰,只能轉(zhuǎn)換只包含數(shù)字的字符串類型
- 其他類型均能轉(zhuǎn)換為布爾類型
-
'', 0, 0.0, False, [], (), {} , set()
轉(zhuǎn)換為布爾類型時(shí)為False
谭羔,其余均為 True
- 非容器類型不能轉(zhuǎn)換為列表、元組麦向、字典瘟裸、集合類型
- 字典類型轉(zhuǎn)換為列表、元組诵竭、集合類型時(shí)话告,只保留字典中的鍵
- 容器類型轉(zhuǎn)換為集合時(shí),結(jié)果是無序的
- 列表卵慰、元組和集合轉(zhuǎn)換為字典時(shí)沙郭,要求至少為二級(jí)容器,且每個(gè)元素中的元素成對(duì)出現(xiàn)