Python 字符转数字

Python 字符转数字

Python 字符转数字

1. 引言

在编程中,经常需要将字符转换为对应的数字。例如在处理字符串数据时,我们可能需要将字符串中的数字字符转换为实际的数字,以进行数值计算或比较。Python 提供了很多方式来实现字符转数字的操作,本文将详细介绍这些方法。

2. 内置函数 ord()

Python 中的内置函数 ord() 可以返回一个字符的 Unicode 数值。Unicode 是一种字符编码标准,为每个字符分配一个唯一的数值。

2.1 基本用法

下面是使用 ord() 函数将字符转换为对应的 Unicode 数值的基本用法:

char = 'A'
unicode_value = ord(char)
print(unicode_value)

运行上述代码,将输出字符 'A' 对应的 Unicode 数值 65

2.2 示例

下面是一个示例,将字符串中的每个字符转换为对应的 Unicode 数值并输出:

string = 'Hello'
for char in string:
    unicode_value = ord(char)
    print(unicode_value)

运行上述代码,将输出字符串 'Hello' 中每个字符的 Unicode 数值:

72
101
108
108
111

3. 字符串转整数

3.1 内置函数 int()

Python 中的内置函数 int() 可以将字符串转换为整数。该函数支持不同的进制转换,默认将字符串解释为十进制数字。

3.2 基本用法

下面是使用 int() 函数将字符串转换为整数的基本用法:

string = '1234'
integer = int(string)
print(integer)

运行上述代码,将输出字符串 '1234' 对应的整数 1234

3.3 注意事项

  • 当字符串中包含非数字字符时,将会引发 ValueError 异常。为了避免这种情况,我们可以使用 try-except 语句来捕获异常。

  • 当字符串表示的整数超出可表示范围时,将引发 OverflowError 异常。在处理大数时,可以使用其他方法或第三方库,例如 numpynumpy.int64 类型。

3.4 示例

下面是一个示例,将字符串列表转换为整数并输出:

strings = ['123', '456', '789']
for string in strings:
    try:
        integer = int(string)
        print(integer)
    except ValueError:
        print(f'Cannot convert "{string}" to integer')

运行上述代码,将输出字符串列表 ['123', '456', '789'] 中每个字符串对应的整数:

123
456
789

4. 字符串转浮点数

4.1 内置函数 float()

Python 中的内置函数 float() 可以将字符串转换为浮点数。与 int() 函数类似,float() 函数也支持不同的进制转换,默认将字符串解释为十进制浮点数。

4.2 基本用法

下面是使用 float() 函数将字符串转换为浮点数的基本用法:

string = '3.14'
float_number = float(string)
print(float_number)

运行上述代码,将输出字符串 '3.14' 对应的浮点数 3.14

4.3 注意事项

  • 当字符串中包含无效浮点数(例如 'NaN''Infinity')或非数字字符时,将会引发 ValueError 异常。

  • 当字符串表示的浮点数超出可表示范围时,将引发 OverflowError 异常。

4.4 示例

下面是一个示例,将字符串列表转换为浮点数并输出:

strings = ['3.14', '2.718', 'NaN', 'Infinity', 'abc']
for string in strings:
    try:
        float_number = float(string)
        print(float_number)
    except ValueError:
        print(f'Cannot convert "{string}" to float')

运行上述代码,将输出字符串列表 ['3.14', '2.718', 'NaN', 'Infinity', 'abc'] 中每个字符串对应的浮点数或异常信息:

3.14
2.718
Cannot convert "NaN" to float
Cannot convert "Infinity" to float
Cannot convert "abc" to float

5. 字符串转布尔值

5.1 内置函数 bool()

Python 中的内置函数 bool() 可以将字符串转换为布尔值。在字符串转换为布尔值时,遵循以下规则:

  • 'False''0'''(空字符串)和 None 被转换为 False
  • 其他字符串被转换为 True

5.2 基本用法

下面是使用 bool() 函数将字符串转换为布尔值的基本用法:

string1 = 'True'
bool_value1 = bool(string1)
print(bool_value1)

string2 = 'False'
bool_value2 = bool(string2)
print(bool_value2)

string3 = '0'
bool_value3 = bool(string3)
print(bool_value3)

string4 = ''
bool_value4 = bool(string4)
print(bool_value4)

运行上述代码,将输出字符串 'True' 对应的布尔值 True、字符串 'False' 对应的布尔值 False、字符串 '0' 对应的布尔值 False、空字符串对应的布尔值 False

5.3 示例

下面是一个示例,将字符串列表转换为布尔值并输出:

strings = ['True', 'False', '0', '', 'Python']
for string in strings:
    bool_value = bool(string)
    print(f'{string}: {bool_value}')

运行上述代码,将输出字符串列表 ['True', 'False', '0', '', 'Python'] 中每个字符串对应的布尔值:

True: True
False: True
0: False
: False
Python: True

6. 结论

Python 提供了多种方式来实现字符转数字的操作。本文介绍了以下方法:

  • 使用内置函数 ord() 将字符转换为 Unicode 数值。
  • 使用内置函数 int() 将字符串转换为整数。
  • 使用内置函数 float() 将字符串转换为浮点数。
  • 使用内置函数 bool() 将字符串转换为布尔值。

在实际应用中,根据具体的需求选择合适的方法进行转换即可。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程