新聞中心
Python3 數(shù)據(jù)類型轉(zhuǎn)換
有時(shí)候,我們需要對(duì)數(shù)據(jù)內(nèi)置的類型進(jìn)行轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,一般情況下你只需要將數(shù)據(jù)類型作為函數(shù)名即可。

成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的成都電信服務(wù)器托管服務(wù)
Python 數(shù)據(jù)類型轉(zhuǎn)換可以分為兩種:
- 隱式類型轉(zhuǎn)換 - 自動(dòng)完成
- 顯式類型轉(zhuǎn)換 - 需要使用類型函數(shù)來轉(zhuǎn)換
隱式類型轉(zhuǎn)換
在隱式類型轉(zhuǎn)換中,Python 會(huì)自動(dòng)將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,不需要我們?nèi)ジ深A(yù)。
以下實(shí)例中,我們對(duì)兩種不同類型的數(shù)據(jù)進(jìn)行運(yùn)算,較低數(shù)據(jù)類型(整數(shù))就會(huì)轉(zhuǎn)換為較高數(shù)據(jù)類型(浮點(diǎn)數(shù))以避免數(shù)據(jù)丟失。
實(shí)例
num_int
=
123
num_flo
=
1.23
num_new
= num_int + num_flo
print
(
"num_int 數(shù)據(jù)類型為:"
,
type
(num_int
)
)
print
(
"num_flo 數(shù)據(jù)類型為:"
,
type
(num_flo
)
)
print
(
"num_new 值為:"
,num_new
)
print
(
"num_new 數(shù)據(jù)類型為:"
,
type
(num_new
)
)
以上實(shí)例輸出結(jié)果為:
num_int 數(shù)據(jù)類型為:num_flo 數(shù)據(jù)類型為: num_new: 值為: 124.23 num_new 數(shù)據(jù)類型為:
代碼解析:
- 實(shí)例中我們對(duì)兩個(gè)不同數(shù)據(jù)類型的變量
num_int和num_flo進(jìn)行相加運(yùn)算,并存儲(chǔ)在變量num_new中。 - 然后查看三個(gè)變量的數(shù)據(jù)類型。
- 在輸出結(jié)果中,我們看到
num_int是整型(integer),num_flo是浮點(diǎn)型(float)。 - 同樣,新的變量
num_new是浮點(diǎn)型(float),這是因?yàn)?Python 會(huì)將較小的數(shù)據(jù)類型轉(zhuǎn)換為較大的數(shù)據(jù)類型,以避免數(shù)據(jù)丟失。
我們?cè)倏匆粋€(gè)實(shí)例,整型數(shù)據(jù)與字符串類型的數(shù)據(jù)進(jìn)行相加:
實(shí)例
num_int
=
123
num_str
=
"456"
print
(
"num_int 數(shù)據(jù)類型為:"
,
type
(num_int
)
)
print
(
"num_str 數(shù)據(jù)類型為:"
,
type
(num_str
)
)
print
(num_int+num_str
)
以上實(shí)例輸出結(jié)果為:
num_int 數(shù)據(jù)類型為:num_str 數(shù)據(jù)類型為: Traceback (most recent call last): File "/runoob-test/test.py", line 7, in print(num_int+num_str) TypeError: unsupported operand type(s) for +: 'int' and 'str'
從輸出中可以看出,整型和字符串類型運(yùn)算結(jié)果會(huì)報(bào)錯(cuò),輸出 TypeError。 Python 在這種情況下無法使用隱式轉(zhuǎn)換。
但是,Python 為這些類型的情況提供了一種解決方案,稱為顯式轉(zhuǎn)換。
顯式類型轉(zhuǎn)換
在顯式類型轉(zhuǎn)換中,用戶將對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換為所需的數(shù)據(jù)類型。 我們使用 int()、float()、str() 等預(yù)定義函數(shù)來執(zhí)行顯式類型轉(zhuǎn)換。
int() 強(qiáng)制轉(zhuǎn)換為整型:
實(shí)例
x
=
int
(
1
)
# x 輸出結(jié)果為 1
y
=
int
(
2.8
)
# y 輸出結(jié)果為 2
z
=
int
(
"3"
)
# z 輸出結(jié)果為 3
float() 強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型:
實(shí)例
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() 強(qiáng)制轉(zhuǎn)換為字符串類型:
實(shí)例
x
=
str
(
"s1"
)
# x 輸出結(jié)果為 's1'
y
=
str
(
2
)
# y 輸出結(jié)果為 '2'
z
=
str
(
3.0
)
# z 輸出結(jié)果為 '3.0'
整型和字符串類型進(jìn)行運(yùn)算,就可以用強(qiáng)制類型轉(zhuǎn)換來完成:
實(shí)例
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
)
# 強(qiáng)制轉(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
)
)
以上實(shí)例輸出結(jié)果為:
num_int 數(shù)據(jù)類型為:類型轉(zhuǎn)換前,num_str 數(shù)據(jù)類型為: 類型轉(zhuǎn)換后,num_str 數(shù)據(jù)類型為: num_int 與 num_str 相加結(jié)果為: 579 sum 數(shù)據(jù)類型為:
以下幾個(gè)內(nèi)置的函數(shù)可以執(zhí)行數(shù)據(jù)類型之間的轉(zhuǎn)換。這些函數(shù)返回一個(gè)新的對(duì)象,表示轉(zhuǎn)換的值。
| 函數(shù) | 描述 |
|---|---|
新聞名稱:Python3 數(shù)據(jù)類型轉(zhuǎn)換
當(dāng)前URL:http://www.fisionsoft.com.cn/article/dhjisjd.html


咨詢
建站咨詢
