在C语言等高级语言中,字符之间的减运算都是支持的,但是python不然,在python中直接进行字符减运算是不被允许的。
>>> print('c'-'a') Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> print('c'-'a') TypeError: unsupported operand type(s) for -: 'str' and 'str'
但是我们经常需要进行字符之间的减运算,那么在python中就可以借助ord()函数实现,ord()是python自带的函数,无需导入。
>>> print(ord('c')-ord('a')) 2
借助ord()函数不仅可以进行字符减运算,也可以进行加运算,但是我们一般不会这么用。
>>> print(ord('c')+ord('a')) 196
ord()函数实际上是将字符转化成对应的ASCII码值,然后通过ASCII码值进行加减运算。比如我们都知道a的ASCII码值是97,c的ASCII码值是99,因此ord('c')+ord('a')的值为196。
和ord()函数相对应的,python也有一个将ASCII码值转化成字符的函数——chr()。
>>> print(chr(99)) c