字符串怎么转换成整数 有几种方法怎么实现

在Python中,可以使用以下几种方法将字符串转换为整数:

  1. 使用内置函数int(): int()函数将字符串作为参数,并返回相应的整数值。如果字符串包含非数字字符,则会引发ValueError异常。例如:
s = "123"
num = int(s)
print(type(num), num)  # <class 'int'> 123
  1. 使用eval()函数: eval()函数评估字符串并返回结果。它可以执行字符串中的任何有效Python表达式,并返回表达式的结果。例如:
s = "123"
num = eval(s)
print(type(num), num)  # <class 'int'> 123

然而,使用eval()函数需要谨慎使用,因为它可以执行任意代码,可能存在安全风险。

  1. 使用位运算符<<: 位运算符<<将一个字符串参数视为二进制,然后返回对应的十进制整数。例如:
s = "123"
num = 0
for digit in s:
    num = (num << 3) + (num << 1) + int(digit)
print(type(num), num)  # <class 'int'> 123

此方法通过将数字字符转换为整数,并将其通过乘以2、4和8来累积,然后加上下一个数字字符的整数值,以创建最终的整数。

需要注意的是,以上方法都要求字符串是合法的表示整数的形式,否则将引发异常。如果字符串包含除数字字符外的其他字符,需要在转换之前进行处理或者使用适当的异常处理机制。


【AD】美国洛杉矶/香港/日本VPS推荐,回程电信CN2 GIA线路,延迟低、稳定性高、免费备份_搬瓦工