Python 類型轉(zhuǎn)換
目標(biāo)
在本文章中,你將了解Python中的類型轉(zhuǎn)換和一些有用的類型轉(zhuǎn)換函數(shù)。
Python類型轉(zhuǎn)換簡介
要從用戶那里獲得輸入,可以使用input()函數(shù)。例如:
value = input('輸入一個值:')
print(value)
當(dāng)你執(zhí)行這段代碼時,它會提示你在終端上輸入:
輸入一個值:
如果你輸入一個值,例如一個數(shù)字,程序?qū)@示回該值:
輸入一個值:100
100
但是,input()函數(shù)返回的是一個字符串,而不是整數(shù)。
下面的示例提示您輸入兩個輸入值:路程和百公里油耗。然后,它計(jì)算凈價格,并在屏幕上顯示結(jié)果:
distance = input('輸入路程(km):')
fuelconsumptionPHK = input('輸入百公里油耗(L):')
oilconsumption =distance/100*fuelconsumptionPHK
print(f'耗油量是{oilconsumption}L')
當(dāng)你執(zhí)行這個程序輸入數(shù)字:
輸入路程(km):100
輸入百公里油耗(L):7
你將獲得下面的錯誤:
Traceback (most recent call last):
File "c:\Users\nasoul\Desktop\tutorial\Python\第一章\helloworld\app.py", line 4, in <module>
oilconsumption =distance/100*fuelconsumptionPHK
TypeError: unsupported operand type(s) for /: 'str' and 'int'
因?yàn)檩斎胫凳亲址?,所以不能對它們?yīng)用算術(shù)運(yùn)算符(+)。
要解決這個問題,您需要在執(zhí)行計(jì)算之前將字符串轉(zhuǎn)換為數(shù)字。
要將字符串轉(zhuǎn)換為數(shù)字,可以使用int()函數(shù)。更準(zhǔn)確地說,int()函數(shù)將字符串轉(zhuǎn)換為整數(shù)。
下面的示例使用int()函數(shù)將輸入字符串轉(zhuǎn)換為數(shù)字:
distance = input('輸入路程(km):')
fuelconsumptionPHK = input('輸入百公里油耗(L):')
oilconsumption =int(distance)/100*int(fuelconsumptionPHK)
print(f'耗油量是{oilconsumption}L')
如果你運(yùn)行程序,輸入一些值,你會看到它工作正常:
輸入路程(km):100
輸入百公里油耗(L):7
耗油量是7.0L
其他類型轉(zhuǎn)換函數(shù)
除了int(str)函數(shù),Python還支持其他類型轉(zhuǎn)換函數(shù)。以下是目前最重要的幾點(diǎn):
-
float(str)-將字符串轉(zhuǎn)換為浮點(diǎn)數(shù)。 -
bool(val)-將一個值轉(zhuǎn)換為布爾值,True或False。 -
str(val)-返回值的字符串表示形式。
獲取值的類型
要獲取值的類型,可以使用type(value)函數(shù)。例如:
>>> type(100)
<class 'int'>
>>> type(2.0)
<class 'float'>
>>> type('Hello')
<class 'str'>
>>> type(True)
<class 'bool'>
從輸出中可以清楚地看到:
- 數(shù)字
100的類型是int。 - 數(shù)字
2.0具有float類型。 - 字符串
'Hello'的類型是str。 -
True值的類型為bool。
在每個類型的前面,都可以看到class關(guān)鍵字?,F(xiàn)在還不重要。稍后你會學(xué)到更多關(guān)于class的知識。
總結(jié)
- 使用input()函數(shù)從用戶那里獲取一個輸入字符串。
- 使用類型轉(zhuǎn)換函數(shù),如
int()、float()、bool()和str(value),將值從一種類型轉(zhuǎn)換為另一種類型。 - 使用
type()函數(shù)獲取值的類型。