int
支持轉(zhuǎn)換為 int 類型的,僅有 float、str、bytes,其他類型均不支持。
需要Python3的教程私信回復(fù)我【01】即可獲取視頻教程
1.float -> int
會(huì)去掉小數(shù)點(diǎn)及后面的數(shù)值,僅保留整數(shù)部分。
2.str -> int
如果字符串中有數(shù)字(0-9)和正負(fù)號(hào)(+/-)以外的字符,就會(huì)報(bào)錯(cuò)。
3.bytes -> int
如果 bytes 中有數(shù)字(0-9)和正負(fù)號(hào)(+/-)以外的字符,就會(huì)報(bào)錯(cuò)。
float
支持轉(zhuǎn)換為 float 類型的,僅有 int、str、bytes,其他類型均不支持。
1.int -> float
int 轉(zhuǎn)換為 float 時(shí),會(huì)自動(dòng)給添加一位小數(shù)。
2.str -> float
如果字符串含有正負(fù)號(hào)(+/-)、數(shù)字(0-9)和小數(shù)點(diǎn)(.)以外的字符,則不支持轉(zhuǎn)換。
3.bytes -> float
如果 bytes 中含有正負(fù)號(hào)(+/-)、數(shù)字(0-9)和小數(shù)點(diǎn)(.)以外的字符,則不支持轉(zhuǎn)換。
complex
僅支持 int、float、str 轉(zhuǎn)換成 complex 類型。
1.int -> complex
int 轉(zhuǎn)換 complex 時(shí),會(huì)自動(dòng)添加虛數(shù)部分并以0j表示。
2.float -> complex
float 轉(zhuǎn)換 complex 時(shí),會(huì)自動(dòng)添加虛數(shù)部分并以0j表示。
3.str -> complex
str 轉(zhuǎn)換 complex 時(shí),如果能轉(zhuǎn)換成 int 或 float,則會(huì)轉(zhuǎn)換后再轉(zhuǎn)為 complex。
如果字符串完全符合 complex 表達(dá)式規(guī)則,也可以轉(zhuǎn)換為 complex 類型值。
str
str() 函數(shù)可以將任意對(duì)象轉(zhuǎn)換為字符串。
1.int -> str
int 轉(zhuǎn)換 str 會(huì)直接完全轉(zhuǎn)換。
2.float -> str
float 轉(zhuǎn)換 str 會(huì)去除末位為 0 的小數(shù)部分。
3.complex -> str
complex 轉(zhuǎn)換 str,會(huì)先將值轉(zhuǎn)化為標(biāo)準(zhǔn)的 complex 表達(dá)式,然后再轉(zhuǎn)換為字符串。
4.bytes -> str
bytes 和 str 的轉(zhuǎn)換比較特殊點(diǎn),在 Python 3.x 中,字符串和字節(jié)不再混淆,而是完全不同的數(shù)據(jù)類型。
轉(zhuǎn)換為可執(zhí)行的表達(dá)式字符串:
str() 函數(shù)指定 encoding 參數(shù)
或者使用 bytes.decode() 方法
可以作實(shí)際數(shù)據(jù)的轉(zhuǎn)換:
5.list -> str
會(huì)先將值格式化為標(biāo)準(zhǔn)的 list 表達(dá)式,然后再轉(zhuǎn)換為字符串。
6.tuple -> str
會(huì)先將值格式化為標(biāo)準(zhǔn)的 tuple 表達(dá)式,然后再轉(zhuǎn)換為字符串。
7.dict -> str
會(huì)先將值格式化為標(biāo)準(zhǔn)的 dict 表達(dá)式,然后再轉(zhuǎn)換為字符串。
8.set -> str
會(huì)先將值格式化為標(biāo)準(zhǔn)的 set 表達(dá)式,然后再轉(zhuǎn)換為字符串。
9.其他類型
轉(zhuǎn)換內(nèi)置對(duì)象:
轉(zhuǎn)換類實(shí)例:
轉(zhuǎn)換函數(shù):
bytes
僅支持 str 轉(zhuǎn)換為 bytes 類型。
list
支持轉(zhuǎn)換為 list 的類型,只能是序列,比如:str、tuple、dict、set等。
1.str -> list
2.bytes -> listbytes
轉(zhuǎn)換列表,會(huì)取每個(gè)字節(jié)的 ASCII 十進(jìn)制值并組合成列表
3.tuple -> list
tuple 轉(zhuǎn)換為 list 比較簡(jiǎn)單。
4.dict -> list
字典轉(zhuǎn)換列表,會(huì)取鍵名作為列表的值。
5.set -> list
集合轉(zhuǎn)換列表,會(huì)先去重為標(biāo)準(zhǔn)的集合數(shù)值,然后再轉(zhuǎn)換。
tuple
與列表一樣,支持轉(zhuǎn)換為 tuple 的類型,只能是序列。
1.str -> tuple
2.bytes -> tuple
bytes 轉(zhuǎn)換元組,會(huì)取每個(gè)字節(jié)的 ASCII 十進(jìn)制值并組合成列表。
3.list -> tuple
4.dict -> tuple
5.set -> tuple
dict
1.str -> dict
使用 json 模塊轉(zhuǎn)換 JSON 字符串為字典時(shí),需要求完全符合 JSON 規(guī)范
尤其注意鍵和值只能由單引號(hào)包裹,否則會(huì)報(bào)錯(cuò)。
因?yàn)?eval 函數(shù)能執(zhí)行任何符合語(yǔ)法的表達(dá)式字符串
所以存在嚴(yán)重的安全問(wèn)題,不建議。
使用 ast.literal_eval 進(jìn)行轉(zhuǎn)換既不存在使用 json 進(jìn)行轉(zhuǎn)換的問(wèn)題
也不存在使用 eval 進(jìn)行轉(zhuǎn)換的 安全性問(wèn)題,因此推薦使用 ast.literal_eval。
2.list -> dict
通過(guò) zip 將 2 個(gè)列表映射為字典:
將嵌套的列表轉(zhuǎn)換為字典:tuple -> dict
通過(guò) zip 將 2 個(gè)元組映射為字典:
將嵌套的元組轉(zhuǎn)換為字典:
3.set -> dict
通過(guò) zip 將 2 個(gè)集合映射為字典:
set
1.str -> set
先將字符切割成元組,然后再去重轉(zhuǎn)換為集合。
2.bytes -> set
會(huì)取每個(gè)字節(jié)的 ASCII 十進(jìn)制值并組合成元組,再去重。
3.list -> set
先對(duì)列表去重,再轉(zhuǎn)換。
4.tuple -> set
先對(duì)列表去重,再轉(zhuǎn)換。
5.dict -> set
會(huì)取字典的鍵名組合成集合。
歡迎補(bǔ)充!希望對(duì)你有幫助!