Python:将字符串转换为数字的全面指南356


在 Python 中,有时我们需要将字符串表示的数值转换为数字类型,如整数或浮点数。该过程称为类型转换,对于各种数据处理任务至关重要。本文将深入探讨将字符串转换为数字的各种方法,涵盖不同场景和数据格式。

方法 1:int() 函数

要将字符串转换为整数,可以使用 int() 函数。它采用字符串参数并返回整数表示,忽略任何前导或尾随空格。例如:>>> int("123")
123
>>> int(" -456 ")
-456

方法 2:float() 函数

对于浮点数,可以使用 float() 函数。它同样采用字符串参数,并返回浮点数表示。类似于 int(),float() 会忽略前导和尾随空格。例如:>>> float("3.14")
3.14
>>> float("-0.05")
-0.05

方法 3:使用内置 type()

另一种方法是使用内置 type() 函数。它接受一个对象作为参数,并返回其类型。在我们的情况下,我们可以将它与 int() 或 float() 一起使用,如下所示:>>> type(int("100"))

>>> type(float("-25.5"))


方法 4:eval() 函数

eval() 函数提供了一种通过字符串评估 Python 表达式的强大方法。它可以将字符串转换为所需的数字类型。例如:>>> eval("15 + 5")
20
>>> eval("float(-12 / 4)")
-3.0

处理错误情况

在将字符串转换为数字时,可能会遇到错误。为了处理这些错误,我们可以使用 try/except 块。例如,如果字符串包含非数字字符,int() 和 float() 函数将引发 ValueError:try:
int("abc")
except ValueError:
print("不是有效的整数")

扩展功能:进制转换

int() 和 float() 函数支持可选的参数 base,用于指定要转换的进制。默认情况下,它们假设为十进制 (base=10)。其他进制选项包括二进制 (base=2)、八进制 (base=8) 和十六进制 (base=16)。例如:>>> int("1101", base=2)
13
>>> float("0x12.34", base=16)
18.5

结论

将字符串转换为数字是 Python 中一个常见的任务,涉及广泛的数据处理应用。本文提供了多种方法,从最简单、最常见的 int() 和 float() 函数到使用 type() 和 eval() 函数的高级技术。通过了解这些方法及其陷阱,开发者可以有效地处理各种数值字符串。

2024-10-31


上一篇:Python 内置函数备忘单

下一篇:TSNE 在 Python 中的源代码剖析