如何在Python中将字符串转换为整数
时间:2020-03-05 15:31:22 来源:igfitidea点击:
Python中的所有数据类型(包括整数和字符串)都是对象。
通常在编写Python代码时,我们将需要将一种数据类型转换为另一种数据类型。
例如,要对表示为字符串的数字执行数学运算,需要将其转换为整数。
在本教程中,我们将向我们展示如何将Python字符串转换为整数。
Python 'int()'函数
内置的“ int()”函数从给定的数字或者字符串中返回一个十进制整数对象。
它采用以下形式:
int(x, base=10)
该函数接受两个参数:
- 'x'-要转换为整数的字符串或者数字。
- 'base'-代表第一个参数的数字系统。它的值可以是0和2–36. 此参数是可选的,如果没有给出基数,则默认值为10(十进制整数)。
通常,整数以十六进制(基数16),十进制(基数10),八进制(基数8)或者二进制(基数2)表示。
如果给定参数不能表示为整数,则该函数将引发'ValueError'异常。
将Python字符串转换为整数
在Python中,“字符串”是使用单引号('''),双引号('“'')或者三引号('”“”')声明的字符列表。
如果使用引号声明仅包含数字的变量,则其数据类型将设置为String。
考虑以下示例:
days = "23" type(days)
'type()'函数向我们显示'days'变量是一个'String'对象。
<type 'str'>
让我们尝试对该变量进行数学运算:
print(days+5)
Python将引发“ TypeError”异常错误,因为它无法使用字符串和整数执行加法计算:
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'int' objects
要将十进制整数的字符串表示形式转换为'int',请将字符串传递给'int()'函数,该函数将返回一个十进制整数:
days = "23"days_int = int(days)type(days_int)
<type 'int'>
如果现在尝试进行数学运算,则求和运算将成功执行:
print(days_int+5)
28
如果该数字包含逗号(标记成千上万,数以百万计的数字等),则需要先删除逗号,然后再将该数字传递给'int()'函数:
total = "1,000,000"int(total.replace(",", ""))
1000000
在不同数字系统中转换表示整数的字符串时,请确保使用正确的'base'。
例如,在十六进制系统中,数字54732表示为'D5CF'。
要将其转换为十进制整数,我们需要使用基数16:
int("D5CF", 16)
54735
如果在不设置基数的情况下将'D5CF'字符串传递给'int()'函数,它将抛出'ValueError'异常:
int("D5CF")
Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: 'D5CF'