翻译自:https://www.pythontutorial.net/python-basics/python-type-conversion/
Python 中类型转换的介绍
要获取用户的输入,可以使用该input()
函数。例如:
value = input('Enter a value:')
print(value)
当你执行此代码时,它会提示你在终端上输入:
Enter a value:
如果你输入一个值,例如一个数字,程序将显示该值:
Enter a value:100
100
但是,该input()
函数返回一个字符串,而不是整数。
以下示例提示您输入两个输入值:净价和税率。之后,它会计算税额并在屏幕上显示结果:
price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')
tax_amount = price * tax / 100
print(f'The tax amount price is ${tax_amount}')
当你执行程序并输入一些数字时:
Enter the price ($):100
Enter the tax rate (%):10
…您将收到以下错误:
Traceback (most recent call last):
File "main.py", line 4, in <module>
tax_amount = price * tax / 100
TypeError: can't multiply sequence by non-int of type 'str'
由于输入值是字符串,因此无法应用乘法运算符。
为了解决这个问题,您需要在执行计算之前将字符串转换为数字。
要将字符串转换为数字,请使用该int()
函数。更准确地说,该int()
函数将字符串转换为整数。
以下示例使用int()
函数将输入的字符串转换为数字:
price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')
tax_amount = int(price) * int(tax) / 100
print(f'The tax amount is ${tax_amount}')
如果你运行该程序并输入一些值,你会看到它正常运行:
Enter the price ($):
100
Enter the tax rate (%):
10
The tax amount is $10.0
其他类型转换函数
除了上述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
关键字。目前它并不重要。稍后你将了解有关该类的更多信息。
动手实践
从控制台输入两个数字x和y,计算\( x^y \),并打印出来