Python ord函数
1. 简介
在Python中,ord函数是一个内置函数,它用于返回指定字符的Unicode码值。Unicode是一种字符编码标准,它为世界上几乎所有的字符定义了一个唯一的数字码点。ord函数可以帮助我们了解字符的底层表示。
2. 语法
ord函数的语法如下:
ord(c)
这里,c表示需要获取Unicode码值的字符。
3. 示例
下面是一些使用ord函数的示例:
print(ord('A'))
print(ord('a'))
print(ord('0'))
print(ord('*'))
运行结果:
65
97
48
42
在这个示例中,我们分别使用ord函数获取了字符’A’,’a’,’0’和’*’的Unicode码值,并打印出来。
4. 注意事项
- ord函数只能接受一个字符作为参数,如果传入的参数超过一个字符,会抛出TypeError异常。
print(ord('ABC')) # 抛出TypeError异常
- ord函数返回的结果是一个整数,代表字符的Unicode码值。
-
对于ASCII字符集中的字符,ord函数返回的结果与对应的ASCII码值相同。ASCII码是一种最早的字符编码标准,它仅包含128个字符。
-
对于非ASCII字符,ord函数返回的结果是该字符在Unicode字符集中的码点值。
5. 与chr函数相反
与ord函数对应的是chr函数。chr函数的作用是返回指定Unicode码值对应的字符。
下面是一些使用chr函数的示例:
print(chr(65))
print(chr(97))
print(chr(48))
print(chr(42))
运行结果:
A
a
0
*
在这个示例中,我们分别使用chr函数将Unicode码值65,97,48和42转换为对应的字符,并打印出来。
6. ord函数的应用
ord函数在实际应用中有广泛的用途,例如:
- 判断字符的大小写
由于大写字母的Unicode码值小于小写字母的Unicode码值,我们可以使用ord函数来判断一个字符是否是大写字母。
c = 'A'
if ord(c) >= ord('A') and ord(c) <= ord('Z'):
print('是大写字母')
- 加密和解密
在密码学中,我们经常会用到字符的编码和解码。ord函数可以辅助我们进行简单的加密和解密操作。
下面是一个简单的加密示例,将字符串中的所有字符的Unicode码值加上一个固定值,得到加密后的字符串。
def encrypt_string(s, shift):
encrypted = ''
for c in s:
encrypted += chr(ord(c) + shift)
return encrypted
s = 'Hello, World!'
print(encrypt_string(s, 1))
运行结果:
Ifmmp-!Xpsme"
在这个示例中,我们定义了一个encrypt_string函数来对字符串进行加密,shift参数表示加密时每个字符的Unicode码值增加的偏移量。最后,我们将字符串’Hello, World!’加密并打印出来。
当然,解密操作就是将加密字符串中的每个字符的Unicode码值减去对应的偏移量,恢复原始的字符串。
7. 小结
ord函数是Python中用于获取字符Unicode码值的一个内置函数。它对于了解字符底层编码,判断大小写,加密和解密等操作都非常有用。chr函数则是ord函数的逆操作,用于根据Unicode码值获取字符。