Python中字符串转换成数字的多种方式
在Python编程中,我们经常会遇到需要将字符串转换成数字的情况。本文将详细介绍Python中字符串转换成数字的多种方式,并给出示例代码和运行结果,帮助读者理解和掌握这些方法。
1. 使用int()函数进行转换
int()函数是Python内置的用于将字符串转换成整数的函数。它可以处理包含数字和正负号的字符串,并返回对应的整数值。
示例代码1:
str_num = "12345"
num = int(str_num)
print(num)
运行结果1:
12345
示例代码2:
str_num = "-54321"
num = int(str_num)
print(num)
运行结果2:
-54321
2. 使用float()函数进行转换
float()函数是Python内置的用于将字符串转换成浮点数的函数。它可以处理包含数字、正负号和小数点的字符串,并返回对应的浮点数值。
示例代码3:
str_num = "3.14159"
num = float(str_num)
print(num)
运行结果3:
3.14159
示例代码4:
str_num = "-2.71828"
num = float(str_num)
print(num)
运行结果4:
-2.71828
3. 使用eval()函数进行转换
eval()函数是Python内置的用于执行表达式并返回结果的函数。在转换字符串为数字的情况下,我们可以将字符串作为表达式传入eval()函数中,eval()函数会将其计算并返回数值结果。
示例代码5:
str_num = "10 + 20"
num = eval(str_num)
print(num)
运行结果5:
30
示例代码6:
str_num = "5 * 6 - 3"
num = eval(str_num)
print(num)
运行结果6:
27
4. 使用正则表达式进行转换
正则表达式是一种用于匹配字符串模式的工具,通过使用正则表达式库re,我们可以从字符串中提取出数值部分,然后通过int()或float()函数进行转换。
示例代码7:
import re
str_num = "abc123def"
num_str = re.findall(r"\d+", str_num)
num = int(num_str[0])
print(num)
运行结果7:
123
示例代码8:
import re
str_num = "a1.234b"
num_str = re.findall(r"\d+\.\d+", str_num)
num = float(num_str[0])
print(num)
运行结果8:
1.234
5. 使用try-except语句进行转换
在使用int()或float()函数进行字符串转换时,如果字符串无法正确转换为数字,会抛出ValueError异常。我们可以使用try-except语句来捕获异常,从而实现安全的字符串转换。
示例代码9:
str_num = "123abc"
try:
num = int(str_num)
print(num)
except ValueError:
print("字符串无法转换成整数")
运行结果9:
字符串无法转换成整数
示例代码10:
str_num = "1.23a"
try:
num = float(str_num)
print(num)
except ValueError:
print("字符串无法转换成浮点数")
运行结果10:
字符串无法转换成浮点数
在本文中,我们介绍了Python中字符串转换成数字的多种方式,包括使用int()、float()、eval()函数,正则表达式和try-except语句。读者可以根据自己的实际需求选择适合的方法进行字符串转换。