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

沈知远
沈知远
发布时间:2026-10-16| 3人浏览过
原创

本文详细介绍Python中将字符串转换为数字的5种常用方法。涵盖使用int()和float()进行基础类型转换,利用eval()求值表达式,通过isdigit()判断纯数字字符串,以及借助正则表达式从复杂文本中提取数字。每种方法均提供代码示例与异常处理说明,帮助开发者根据实际需求选择合适方案。

在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中将字符串转换为数字的五种方法,包括int()、float()、eval()、isdigit()以及正则表达式提取。开发者可根据具体需求选择合适的转换方式,注意处理可能出现的异常,确保代码的健壮性。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。