当我们在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异常。