Python 中字符串与整数的转换方法非常简单,我们可以使用内置的函数实现这一功能。
从字符串转换为整数
将字符串转换为整数的过程叫做“字符串转整数”,在 Python 中有两种方法可以实现。
方法1: 使用 int() 函数
我们可以使用 int() 函数将字符串转换为整数。int() 函数接受一个字符串作为参数,返回一个整数。
num_str = "123"
num_int = int(num_str)
print(type(num_int), num_int)
输出结果:
<class 'int'> 123
在使用 int() 函数时,需要注意以下事项:
- 如果字符串包含的不仅是数字字符,int() 函数会抛出 ValueError 异常。
- 如果字符串以 0x 或 0X 开头,int() 函数会将其视为十六进制数并进行转换。
- 如果字符串以 0b 或 0B 开头,int() 函数会将其视为二进制数并进行转换。
- 如果字符串包含逗号,int() 函数无法处理,会抛出 ValueError 异常。
- int() 函数还可以接受第二个参数,指定字符串所代表的数的进制,这个后面再详细讲解。
方法2: 使用 eval() 函数
除了使用 int() 函数来将字符串转换为整数外,我们还可以使用 eval() 函数。eval() 函数会将字符串作为代码执行并返回值。如果字符串中表示的是一个整数,那么 eval() 函数会将其转换为整数。
num_str = '10 + 20'
num_int = eval(num_str)
print(type(num_int), num_int)
输出结果:
<class 'int'> 30
在使用 eval() 函数时,需要注意以下事项:
- 任何人都可以通过在字符串输入恶意代码来滥用 eval() 函数,因此需要确保字符串是安全的。
- 如果字符串包含非整数内容,eval() 函数会返回异常。
这两种方法中,推荐使用 int() 函数。
从整数转换为字符串
将整数转换为字符串的过程叫做“整数转字符串”,在 Python 中也有两种方法可以实现。
方法1: 使用 str() 函数
我们可以使用 str() 函数将整数转换为字符串。str() 函数接收一个整数作为参数,返回一个字符串。
num_int = 123
num_str = str(num_int)
print(type(num_str), num_str)
输出结果:
<class 'str'> 123
方法2: 使用 format() 函数
除了使用 str() 函数将整数转换为字符串外,我们还可以使用 format() 函数。
num_int = 123
num_str = '{}'.format(num_int)
print(type(num_str), num_str)
输出结果:
<class 'str'> 123
两种方法中,推荐使用 str() 函数。
进制转换
在使用 int() 函数时,我们提到了可以指定要转换的数的进制。这里,介绍一下 Python 中的进制表示及转换方法。
进制表示
在 Python 中,数可以表示为二进制、八进制、十进制和十六进制数。分别使用 0b 或 0B 前缀表示二进制、0o 或 0O 前缀表示八进制,0x 或 0X 前缀表示十六进制。如果没有前缀,就表示十进制数。
例如:
binary = 0b1100
octal = 0o24
decimal = 12
hexadecimal = 0xc
进制转换
我们可以使用 int() 函数将一个字符串转换为整型数字,并且可以选择将其解析为特定进制的数字,它接受两个参数:
- 第一个参数是要转换的字符串
- 第二个参数是要解析的进制
例如:
# 将二进制字符串 '1010' 转换为整数
binary_str = '1010'
binary_int = int(binary_str, 2)
print(binary_int)
# 将八进制字符串 '24' 转换为整数
octal_str = '24'
octal_int = int(octal_str, 8)
print(octal_int)
# 将十六进制字符串 'c' 转换为整数
hex_str = 'c'
hex_int = int(hex_str, 16)
print(hex_int)
输出结果:
10
20
12
以上就是 Python 中字符串和整数转换的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 字符串和整数的转换方法 - Python技术站