每日一句正能量
在人生的道路上,即使一切都失去了,只要一息尚存,你就沒有絲毫理由絕望。因為失去的一切,又可能在新的層次上復(fù)得。
前言
有時候,我們需要對數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,一般情況下你只需要將數(shù)據(jù)類型作為函數(shù)名即可。
Python 數(shù)據(jù)類型轉(zhuǎn)換可以分為兩種:
- 隱式類型轉(zhuǎn)換 - 自動完成
- 顯式類型轉(zhuǎn)換 - 需要使用類型函數(shù)來轉(zhuǎn)換
隱式類型轉(zhuǎn)換
在隱式類型轉(zhuǎn)換中,Python 會自動將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,不需要我們?nèi)ジ深A(yù)。
以下實例中,我們對兩種不同類型的數(shù)據(jù)進(jìn)行運算,較低數(shù)據(jù)類型(整數(shù))就會轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點數(shù))以避免數(shù)據(jù)丟失。
實例
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))
print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))
以上實例輸出結(jié)果如下圖所示:
代碼解析:
- 實例中我們對兩個不同數(shù)據(jù)類型的變量
num_int
和num_flo
進(jìn)行相加運算,并存儲在變量num_new
中。 - 然后查看三個變量的數(shù)據(jù)類型。
- 在輸出結(jié)果中,我們看到
num_int
是整型(integer)
,num_flo
是浮點型(float)
。 - 同樣,新的變量
num_new
是浮點型(float)
,這是因為 Python 會將較小的數(shù)據(jù)類型轉(zhuǎn)換為較大的數(shù)據(jù)類型,以避免數(shù)據(jù)丟失。
我們再看一個實例,整型數(shù)據(jù)與字符串類型的數(shù)據(jù)進(jìn)行相加:
實例
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str:",type(num_str))
print(num_int+num_str)
以上實例輸出結(jié)果如下圖所示:
從輸出中可以看出,整型和字符串類型運算結(jié)果會報錯,輸出 TypeError。 Python 在這種情況下無法使用隱式轉(zhuǎn)換。
但是,Python 為這些類型的情況提供了一種解決方案,稱為顯式轉(zhuǎn)換。
顯式類型轉(zhuǎn)換
在顯式類型轉(zhuǎn)換中,用戶將對象的數(shù)據(jù)類型轉(zhuǎn)換為所需的數(shù)據(jù)類型。 我們使用 int()、float()、str() 等預(yù)定義函數(shù)來執(zhí)行顯式類型轉(zhuǎn)換。
int() 強制轉(zhuǎn)換為整型:
實例
x = int(1) # x 輸出結(jié)果為 1
y = int(2.8) # y 輸出結(jié)果為 2
z = int("3") # z 輸出結(jié)果為 3
float() 強制轉(zhuǎn)換為浮點型:
實例
x = float(1) # x 輸出結(jié)果為 1.0
y = float(2.8) # y 輸出結(jié)果為 2.8
z = float("3") # z 輸出結(jié)果為 3.0
w = float("4.2") # w 輸出結(jié)果為 4.2
str() 強制轉(zhuǎn)換為字符串類型:
實例
x = str("s1") # x 輸出結(jié)果為 's1'
y = str(2) # y 輸出結(jié)果為 '2'
z = str(3.0) # z 輸出結(jié)果為 '3.0'
整型和字符串類型進(jìn)行運算,就可以用強制類型轉(zhuǎn)換來完成:
實例
num_int = 123
num_str = "456"
print("num_int 數(shù)據(jù)類型為:",type(num_int))
print("類型轉(zhuǎn)換前,num_str 數(shù)據(jù)類型為:",type(num_str))
num_str = int(num_str) # 強制轉(zhuǎn)換為整型
print("類型轉(zhuǎn)換后,num_str 數(shù)據(jù)類型為:",type(num_str))
num_sum = num_int + num_str
print("num_int 與 num_str 相加結(jié)果為:",num_sum)
print("sum 數(shù)據(jù)類型為:",type(num_sum))
以上實例輸出結(jié)果如下圖所示:
以下幾個內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個新的對象,表示轉(zhuǎn)換的值。
函數(shù) | 描述 |
---|---|
int(x [,base]) |
將x轉(zhuǎn)換為一個整數(shù) |
float(x) |
將x轉(zhuǎn)換到一個浮點數(shù) |
complex(real [,imag]) |
創(chuàng)建一個復(fù)數(shù) |
str(x) |
將對象 x 轉(zhuǎn)換為字符串 |
repr(x) |
將對象 x 轉(zhuǎn)換為表達(dá)式字符串 |
eval(str) |
用來計算在字符串中的有效Python表達(dá)式,并返回一個對象 |
tuple(s) |
將序列 s 轉(zhuǎn)換為一個元組 |
list(s) |
將序列 s 轉(zhuǎn)換為一個列表 |
set(s) |
轉(zhuǎn)換為可變集合 |
dict(d) |
創(chuàng)建一個字典。d 必須是一個 (key, value)元組序列。 |
frozenset(s) |
轉(zhuǎn)換為不可變集合 |
chr(x) |
將一個整數(shù)轉(zhuǎn)換為一個字符 |
ord(x) |
將一個字符轉(zhuǎn)換為它的整數(shù)值 |
hex(x) |
將一個整數(shù)轉(zhuǎn)換為一個十六進(jìn)制字符串 |
oct(x) |
將一個整數(shù)轉(zhuǎn)換為一個八進(jìn)制字符串文章來源:http://www.zghlxwxcb.cn/news/detail-521935.html |
轉(zhuǎn)載自:https://blog.csdn.net/u014727709/article/details/131517779
歡迎start,歡迎評論,歡迎指正文章來源地址http://www.zghlxwxcb.cn/news/detail-521935.html
到了這里,關(guān)于Python 數(shù)據(jù)類型轉(zhuǎn)換的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!