python ord函数的作用与使用方法

  • Post category:Python

当我们在Python中使用字符的时候,有时候需要将字符转换为它们在ASCII码表中所对应的整数值,或者将这些整数值再转换为字符。这时候,Python就提供了一个内置函数ord()来完成这些工作。

ord()函数简介

ord()函数用于将一个字符(如’a’、’A’或’%’)转换为它对应的ASCII或Unicode整数。

在ASCII码表中,每个字符都与一个整数值相对应。ASCII码表定义了128个字符,其中包括大小写字母、数字、标点符号、控制字符等等。而Unicode则是一种字符集,它定义了世界上几乎所有的字符。

ord()函数的语法为:

ord(c)

其中,c参数是一个字符,必须是单个的字符串或bytes类型。

ord()函数返回一个整数值表示传入的字符在ASCII或Unicode码表中所对应的整数值。

ord()函数示例

我们来看看ord()函数的使用示例:

print(ord('a'))    # 输出:97
print(ord('A'))    # 输出:65
print(ord('%'))    # 输出:37
print(ord('中'))  # 输出:20013

在这些示例中,我们依次使用ord()函数将字符’a’、’A’、’%’和’中’分别转换为它们在ASCII或Unicode码表中所对应的整数值。

需要注意的是,在使用ord()函数时,传入的字符必须是一个单个的字符。否则,它将会引发一个TypeError异常。

ord()函数的其它用途

除了将字符转换为其所对应的整数值,ord()函数还可以用于将字符串按照ASCII码值排序。这在编写一些字符串排序算法时非常有用。让我们来看一个例子:

string_list = ['hello', 'world', 'python', 'is', 'great']
sorted_list = sorted(string_list, key=lambda x: ord(x[0]))

print(sorted_list)   # 输出:['great', 'hello', 'is', 'python', 'world']

在这个例子中,我们首先定义了一个字符串列表string_list,包含了五个字符串。我们使用排序函数sorted()来对这个字符串列表进行排序,并指定排序的key为每个字符串的第一个字符对应的ASCII码值。最终输出的结果为一个按照ASCII码值排序后的新列表sorted_list

总结

ord()函数可以将一个字符(如’a’、’A’或’%’)转换为它对应的ASCII或Unicode整数值。它还能用于字符串按照ASCII码值排序等应用场合。需要注意的是,传入ord()函数的参数必须是单个字符,否则将会引发TypeError异常。