在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