Python 类型转换
目标
在本文章中,你将了解Python中的类型转换和一些有用的类型转换函数。
Python类型转换简介
要从用户那里获得输入,可以使用input()函数。例如:
value = input('输入一个值:')
print(value)
当你执行这段代码时,它会提示你在终端上输入:
输入一个值:
如果你输入一个值,例如一个数字,程序将显示回该值:
输入一个值:100
100
但是,input()函数返回的是一个字符串,而不是整数。
下面的示例提示您输入两个输入值:路程和百公里油耗。然后,它计算净价格,并在屏幕上显示结果:
distance = input('输入路程(km):')
fuelconsumptionPHK = input('输入百公里油耗(L):')
oilconsumption =distance/100*fuelconsumptionPHK
print(f'耗油量是{oilconsumption}L')
当你执行这个程序输入数字:
输入路程(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'
因为输入值是字符串,所以不能对它们应用算术运算符(+)。
要解决这个问题,您需要在执行计算之前将字符串转换为数字。
要将字符串转换为数字,可以使用int()函数。更准确地说,int()函数将字符串转换为整数。
下面的示例使用int()函数将输入字符串转换为数字:
distance = input('输入路程(km):')
fuelconsumptionPHK = input('输入百公里油耗(L):')
oilconsumption =int(distance)/100*int(fuelconsumptionPHK)
print(f'耗油量是{oilconsumption}L')
如果你运行程序,输入一些值,你会看到它工作正常:
输入路程(km):100
输入百公里油耗(L):7
耗油量是7.0L
其他类型转换函数
除了int(str)函数,Python还支持其他类型转换函数。以下是目前最重要的几点:
-
float(str)-将字符串转换为浮点数。 -
bool(val)-将一个值转换为布尔值,True或False。 -
str(val)-返回值的字符串表示形式。
获取值的类型
要获取值的类型,可以使用type(value)函数。例如:
>>> type(100)
<class 'int'>
>>> type(2.0)
<class 'float'>
>>> type('Hello')
<class 'str'>
>>> type(True)
<class 'bool'>
从输出中可以清楚地看到:
- 数字
100的类型是int。 - 数字
2.0具有float类型。 - 字符串
'Hello'的类型是str。 -
True值的类型为bool。
在每个类型的前面,都可以看到class关键字。现在还不重要。稍后你会学到更多关于class的知识。
总结
- 使用input()函数从用户那里获取一个输入字符串。
- 使用类型转换函数,如
int()、float()、bool()和str(value),将值从一种类型转换为另一种类型。 - 使用
type()函数获取值的类型。