从 Python 字符串到数字:终极指南84


在编程中,经常需要将字符串转换为数字。Python 提供了多种内置函数和方法来执行此操作。本文将深入探讨从 Python 字符串到数字的转换,并提供详细的示例和清晰的解释。

int() 函数

最基本的函数是 int(),它将字符串转换为整数。它接受一个可选的基数参数(默认为 10),指定字符串中数字的进制。
# 将十进制字符串转换为整数
number = int("123")
print(number) # 输出:123
# 将二进制字符串转换为整数
number = int("1111", 2)
print(number) # 输出:15

float() 函数

float() 函数将字符串转换为浮点数。它接受一个可选的基数参数(默认为 10),并处理小数点或指数。
# 将字符串转换为浮点数
number = float("3.14")
print(number) # 输出:3.14
# 将科学记数法转换为浮点数
number = float("6.022e23")
print(number) # 输出:6.022e+23

Decimal() 函数

Decimal() 函数提供了精确的十进制浮点数表示。它将字符串转换为 Decimal 对象,提供比 float 更高的精度和控制。
# 将字符串转换为 Decimal 对象
number = Decimal("3.14")
print(number) # 输出:Decimal('3.14')

NumPy 的 fromstring() 函数

对于处理大数据块,NumPy 的 fromstring() 函数非常有用。它将字符串缓冲区转换为 NumPy 数组。该函数可指定数据类型和分隔符。
import numpy as np
# 将空格分隔的字符串转换为数组
data = ("1 2 3 4 5", dtype=int, sep=" ")
print(data) # 输出:[1 2 3 4 5]

自定义转换

有时,需要根据特定规则将字符串转换为数字。可以使用 () 和 map() 等函数创建自定义转换。
import re
# 提取数字并将其转换为整数
def extract_numbers(string):
return list(map(int, (r"\d+", string)))
numbers = extract_numbers("The price is $12.99")
print(numbers) # 输出:[12, 99]

错误处理

将字符串转换为数字时,可能会发生错误,例如值无效或转换不在预期范围内。使用 try 和 except 语句可以处理这些异常。
try:
number = int("abc")
except ValueError:
print("Invalid input.")

最佳实践

使用字符串到数字转换时,请遵循以下最佳实践:* 验证输入是否为有效数字。
* 考虑特定应用程序所需的精度。
* 处理潜在的异常以确保程序健壮性。
* 使用适当的函数或方法以提高转换效率。

2024-10-30


上一篇:Python 中高效实现顺序表

下一篇:Python 字符串转换为数字