python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python字符串变数字

Python中将字符串变成数字的5种方法示例

作者:老男孩IT教育

Python提供了多种方式来转换字符串为数字类型,但是每一种方式都有其优缺点,这篇文章主要介绍了Python中将字符串变成数字的5种方法,文中通过代码示例介绍的非常详细,需要的朋友可以参考下

字符串和数字是Python中常见的数据类型,而且在撰写Python程序的时候,也经常会遇到需要将字符串转换为数字的情况,那么Python中如何将字符串变成数字?有多种方法可以使用,接下来一起来看看具体内容介绍。

1、使用int()函数

int()函数可以将字符串转换为整数类型。例如,将字符串"123"转换为整数类型的代码如下:

  str_num = "123"
  num = int(str_num)
  print(num)

运行结果为:

123

需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"123abc"转换为整数类型的代码如下:

  str_num = "123abc"
  num = int(str_num)
  print(num)

运行结果为:

ValueError: invalid literal for int() with base 10: '123abc'

2、使用float()函数

float()函数可以将字符串转换为浮点数类型。例如,将字符串"3.14"转换为浮点数类型的代码如下:

  str_num = "3.14"
  num = float(str_num)
  print(num)

运行结果为:

3.14

需要注意的是,如果字符串中包含非数字字符,则会抛出ValueError异常。例如,将字符串"3.14abc"转换为浮点数类型的代码如下:

  str_num = "3.14abc"
  num = float(str_num)
  print(num)

运行结果为:

ValueError: could not convert string to float: '3.14abc'

3、使用eval()函数

eval()函数可以将字符串转换为Python表达式并求值。如果字符串表示一个数字,eval()函数会将其转换为数字类型。例如,字符串"123"转换为数字类型的代码如下:

  str_num = "123"
  num = eval(str_num)
  print(num)

运行结果为:

123

需要注意的是,如果字符串中包含非数字字符,则会抛出SyntaxError异常。例如,将字符串"123abc"转换为数字类型的代码如下:

  str_num = "123abc"
  num = eval(str_num)
  print(num)

运行结果为:

SyntaxError: invalid syntax

4、使用isdigit()函数

isdigit()函数可以检查字符串中是否只包含数字字符。如果是,返回True;否则返回False。例如,判断字符串"123"是否是数字的代码如下:

  str_num = "123"
  if str_num.isdigit():
  print("是数字")
  else:
  print("不是数字")

运行结果为:

是数字

需要注意的是,如果字符串中包含非数字字符,则返回False。例如,判断字符串"123abc"是否是数字的代码如下:

  str_num = "123abc"
  if str_num.isdigit():
  print("是数字")
  else:
  print("不是数字")

运行结果为:

不是数字

5、使用正则表达式提取字符串中的数字

正则表达式可以用来匹配特定的字符串格式。可以使用正则表达式提取字符串中的数字。例如,从字符串"abc123def456"中提取数字的代码如下:

  import re
  str_num = "abc123def456"
  pattern = re.compile(r'\d+')
  nums = pattern.findall(str_num)
  print(nums)

运行结果为:

  ['123', '456']

需要注意的是,正则表达式中的"\d"表示数字字符,而"+"表示匹配至少一个数字字符。如果要匹配浮点数,则可以使用"\d+\.\d+"作为正则表达式。

总结

到此这篇关于Python中将字符串变成数字的5种方法的文章就介绍到这了,更多相关Python字符串变数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文