在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