优草派  >   Python

python怎么将字符串转化为整数?

李嘉琪            来源:优草派

Python是一种面向对象的编程语言,在实际编程中会经常遇到需要将字符串转化为整数的情况。本文将从多个角度介绍Python怎么将字符串转化为整数。

python怎么将字符串转化为整数?

一、使用int()函数

Python中可以使用int()函数将字符串转化为整数。int()函数的语法为:

int(x, base)

其中,x为字符串参数,base为转换的进制数,默认为10进制,也可以指定为其他的进制数。如果无法转换为整数,则会报ValueError的错误。示例代码如下:

str1 = '123'

num1 = int(str1)

print(num1)

输出:

123

二、使用eval()函数

Python中还可以使用eval()函数将字符串转化为整数。eval()函数将字符串当作Python表达式进行求值运算,因此注意要确保字符串的安全性。示例代码如下:

str1 = '123'

num1 = eval(str1)

print(num1)

输出:

123

三、使用ast.literal_eval()函数

使用eval()函数虽然方便,但是不够安全,因此Python还提供了一个安全的函数ast.literal_eval()。与eval()不同的是,ast.literal_eval()只能求值字面值结构,不能求值任意表达式,限制较多,但更加安全。示例代码如下:

import ast

str1 = '123'

num1 = ast.literal_eval(str1)

print(num1)

输出:

123

四、使用正则表达式

正则表达式是另一种将字符串转化为整数的方式,可以使用re模块中的re.findall()方法进行匹配。示例代码如下:

import re

str1 = 'abc 123 def'

num1 = int(re.findall('\d+', str1)[0])

print(num1)

输出:

123

五、实现自己的转化函数

有时候我们需要实现自己的转化函数,可以使用Python中内置的ord()函数和chr()函数进行转化。示例代码如下:

str1 = '123'

num1 = 0

for i in range(len(str1)):

num1 = num1 * 10 + ord(str1[i]) - ord('0')

print(num1)

输出:

123

综上所述,本文介绍了Python中将字符串转化为整数的多种方法,包括使用int()函数、eval()函数、ast.literal_eval()函数、正则表达式以及自定义转化函数。根据实际需求选择相应的方法即可。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。