Python數(shù)據(jù)類型相互轉(zhuǎn)換
當(dāng)涉及數(shù)據(jù)類型轉(zhuǎn)換時(shí),Python提供了多種內(nèi)置函數(shù)來執(zhí)行不同類型之間的轉(zhuǎn)換
以下是每個(gè)方法的詳細(xì)說明和示例案例
- 整數(shù)和浮點(diǎn)數(shù)轉(zhuǎn)換:
int(x, base=10)
: 將給定的參數(shù)x
轉(zhuǎn)換為整數(shù)。x
可以是一個(gè)整數(shù)、浮點(diǎn)數(shù)或字符串。如果x
是字符串,則可以提供base
參數(shù)指定字符串的進(jìn)制,默認(rèn)為十進(jìn)制
# 示例案例 - int() num_int = int(42.8) # 輸出:42,將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),小數(shù)部分被截?cái)? num_int_base = int('1010', 2) # 輸出:10,將二進(jìn)制字符串轉(zhuǎn)換為整數(shù)
float(x)
: 將給定的參數(shù)x
轉(zhuǎn)換為浮點(diǎn)數(shù)。x
可以是一個(gè)整數(shù)、浮點(diǎn)數(shù)或字符串
# 示例案例 - float() num_float = float(42) # 輸出:42.0,將整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù) num_float_str = float('3.14') # 輸出:3.14,將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)
- 字符串和整數(shù)/浮點(diǎn)數(shù)轉(zhuǎn)換:
int(s, base=10)
: 將字符串s
轉(zhuǎn)換為整數(shù)。base
參數(shù)用于指定字符串的進(jìn)制(默認(rèn)為十進(jìn)制)
# 示例案例 - int() str_num = "123" num_int = int(str_num) # 輸出:123,將字符串轉(zhuǎn)換為整數(shù) str_hex = "1A" num_hex = int(str_hex, 16) # 輸出:26,將十六進(jìn)制字符串轉(zhuǎn)換為整數(shù)
float(s)
: 將字符串s
轉(zhuǎn)換為浮點(diǎn)數(shù)。
# 示例案例 - float() str_float = "3.14" num_float = float(str_float) # 輸出:3.14,將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)
- 列表、元組和集合轉(zhuǎn)換:
list(iterable)
: 將可迭代對象iterable
(如列表、元組等)轉(zhuǎn)換為列表
# 示例案例 - list() tuple_data = (1, 2, 3) list_data = list(tuple_data) # 輸出:[1, 2, 3],將元組轉(zhuǎn)換為列表 set_data = {4, 5, 6} list_data_from_set = list(set_data) # 輸出:[4, 5, 6],將集合轉(zhuǎn)換為列表
tuple(iterable)
: 將可迭代對象iterable
轉(zhuǎn)換為元組
# 示例案例 - tuple() list_data = [1, 2, 3] tuple_data = tuple(list_data) # 輸出:(1, 2, 3),將列表轉(zhuǎn)換為元組
set(iterable)
: 將可迭代對象iterable
轉(zhuǎn)換為集合,去除重復(fù)項(xiàng)
# 示例案例 - set() list_data = [1, 2, 2, 3, 3, 3] set_data = set(list_data) # 輸出:{1, 2, 3},將列表轉(zhuǎn)換為集合并去除重復(fù)項(xiàng)
- 字符串和字節(jié)轉(zhuǎn)換:
str.encode(encoding='utf-8', errors='strict')
: 將字符串轉(zhuǎn)換為字節(jié)對象,使用指定的字符編碼(默認(rèn)為UTF-8)
# 示例案例 - str.encode() str_data = "Hello, World!" bytes_data = str_data.encode('utf-8') # 輸出:b'Hello, World!',將字符串轉(zhuǎn)換為字節(jié)對象
bytes.decode(encoding='utf-8', errors='strict')
: 將字節(jié)對象轉(zhuǎn)換為字符串,使用指定的字符編碼(默認(rèn)為UTF-8)
# 示例案例 - bytes.decode() bytes_data = b'Hello, World!' str_data = bytes_data.decode('utf-8') # 輸出:"Hello, World!",將字節(jié)對象轉(zhuǎn)換為字符串
- 布爾值轉(zhuǎn)換:
bool(x)
: 將給定的參數(shù)x
轉(zhuǎn)換為布爾值。任何非零整數(shù)、非空容器(如非空字符串、非空列表等)都將轉(zhuǎn)換為True
,而零整數(shù)、空容器(如空字符串、空列表等)將轉(zhuǎn)換為False
# 示例案例 - bool() num = 42 bool_value = bool(num) # 輸出:True,將非零整數(shù)轉(zhuǎn)換為布爾值 empty_list = [] bool_value = bool(empty_list) # 輸出:False,將空列表轉(zhuǎn)換為布爾值
- 其他數(shù)據(jù)類型轉(zhuǎn)換:
eval(expression, globals=None, locals=None)
: 將字符串expression
作為Python表達(dá)式進(jìn)行求值,并返回結(jié)果。這個(gè)方法可能會帶來潛在的安全風(fēng)險(xiǎn),因?yàn)樗梢詧?zhí)行任意的Python代碼。謹(jǐn)慎使用,尤其是當(dāng)字符串來自不受信任的來源時(shí)
# 示例案例 - eval() str_list = "[1, 2, 3]" list_data = eval(str_list) # 輸出:[1, 2, 3],將字符串作為Python表達(dá)式求值并轉(zhuǎn)換為列表
ast.literal_eval(node_or_string)
: 將字符串node_or_string
安全地解析為Python字面值表達(dá)式,返回對應(yīng)的Python對象。這個(gè)方法用于安全地將字符串轉(zhuǎn)換為Python對象,避免了eval()
方法的潛在安全問題
import ast # 示例案例 - ast.literal_eval() str_dict = "{'name': 'John', 'age': 30}" dict_data = ast.literal_eval(str_dict) # 輸出:{'name': 'John', 'age': 30},安全地將字符串轉(zhuǎn)換為字典
以上是常見的Python數(shù)據(jù)類型轉(zhuǎn)換方法。在進(jìn)行數(shù)據(jù)處理和用戶輸入處理時(shí),務(wù)必選擇合適的轉(zhuǎn)換方式,以避免潛在的錯(cuò)誤
到此這篇關(guān)于Python數(shù)據(jù)類型相互轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換
- Python數(shù)據(jù)類型轉(zhuǎn)換實(shí)現(xiàn)方法
- Python變量和數(shù)據(jù)類型和數(shù)據(jù)類型的轉(zhuǎn)換
- python輸入、數(shù)據(jù)類型轉(zhuǎn)換及運(yùn)算符方式
- 詳解Python數(shù)據(jù)類型、進(jìn)制轉(zhuǎn)換、字符串格式化的問題
- Python 轉(zhuǎn)換數(shù)據(jù)類型函數(shù)和轉(zhuǎn)換數(shù)據(jù)類型的作用
- Python數(shù)據(jù)類型轉(zhuǎn)換匯總
- Python數(shù)據(jù)類型轉(zhuǎn)換詳解
- python 數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的總結(jié)
- Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
- Python常用數(shù)據(jù)類型之間的轉(zhuǎn)換總結(jié)
相關(guān)文章
人臉識別經(jīng)典算法一 特征臉方法(Eigenface)
這篇文章主要為大家詳細(xì)介紹了人臉識別經(jīng)典算法一,特征臉方法Eigenface,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Django中Migrate和Makemigrations實(shí)操詳解
這篇文章主要為大家介紹了Django中Migrate和Makemigrations實(shí)操詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09使用python庫xlsxwriter庫來輸出各種xlsx文件的示例
這篇文章主要介紹了使用python庫xlsxwriter庫來輸出各種xlsx文件的示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09關(guān)于python爬蟲應(yīng)用urllib庫作用分析
這篇文章主要介紹了關(guān)于python爬蟲應(yīng)用urllib庫作用分析,想要進(jìn)行python爬蟲首先我們需要先將網(wǎng)頁上面的信息給獲取下來,這就是utllib庫的作用,有需要的朋友可以借鑒參考下2021-09-09詳解Python調(diào)用系統(tǒng)命令的六種方法
這篇文章主要介紹了詳解Python調(diào)用系統(tǒng)命令的六種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python使用多進(jìn)程運(yùn)行含有任意個(gè)參數(shù)的函數(shù)
這篇文章主要介紹了Python使用多進(jìn)程運(yùn)行含有任意個(gè)參數(shù)的函數(shù),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python PIL Image 圖像處理基本操作實(shí)例
這篇文章主要介紹了python PIL Image 圖像處理基本操作實(shí)例包括圖片加載、灰度圖,圖像通道分離和合并,在圖像上輸出文字,圖像縮放,圖像閾值分割、 二值化,圖像裁剪需要的朋友可以參考下2022-04-04基于Python實(shí)現(xiàn)最新房價(jià)信息的獲取
這篇文章主要為大家介紹了如何利用Python獲取房價(jià)信息(以北京為例),整個(gè)數(shù)據(jù)獲取的信息是通過房源平臺獲取的,通過下載網(wǎng)頁元素并進(jìn)行數(shù)據(jù)提取分析完成整個(gè)過程,需要的可以參考一下2022-04-04Ranorex通過Python將報(bào)告發(fā)送到郵箱的方法
這篇文章主要介紹了Ranorex通過Python將報(bào)告發(fā)送到郵箱的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01