C | 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