ord()函數(shù)也是Python中的內(nèi)建函數(shù)之一,其作用是對(duì)傳入的單個(gè)Unicode字符,返回其對(duì)應(yīng)的Unicode編碼碼點(diǎn)。
如果Unicode字符集中未定義該字符,將引發(fā)TypeError錯(cuò)誤。
該函數(shù)可以視為chr()函數(shù)的反向操作,即ord()函數(shù)把字符轉(zhuǎn)換成對(duì)應(yīng)的Unicode碼點(diǎn)對(duì)應(yīng)的整數(shù)值,而chr()函數(shù)是把整型數(shù)轉(zhuǎn)換成其對(duì)應(yīng)的Unicode字符。
ord(c)
該函數(shù)有一個(gè)參數(shù)c,是長度為1的字符,且必須有一個(gè)字符。
該函數(shù)的返回值是該字符對(duì)應(yīng)的ASCII碼或Unicode碼的十進(jìn)制形式。
print(ord('a'))
print(ord('¥'))
print(ord('€'))
print(ord('愛'))
print(ord('。'))
print(ord('1'))
print(ord('㈥'))
輸出結(jié)果如下:
97
165
8364
29233
12290
49
12837
在Python 3.8.2中的源代碼及執(zhí)行結(jié)果如下:
ord()函數(shù)可以把16進(jìn)制轉(zhuǎn)換為十進(jìn)制。
#ord()函數(shù)的其他用處
print(hex(120)) #輸出'/x78'
print(ord('/x78')) #輸出120
這種用法相當(dāng)于int函數(shù)的功能。
主要包括傳遞的參數(shù)多于1個(gè)字符、不包含任何字符或字符不在Unicode編碼集合中。
print(ord('中國'))
print(ord(''))
以上兩個(gè)例子分別演示了傳遞的參數(shù)多于1個(gè)字符以及傳遞空字符(兩個(gè)引號(hào)中間不包含任何字符)。
分別執(zhí)行上面兩個(gè)例子時(shí),第1個(gè)給出的錯(cuò)誤類型信息為:
TypeError: ord() expected a character, but string of length 2 found.
第2個(gè)例子給出的錯(cuò)誤類型信息為:
TypeError: ord() expected a character, but string of length 0 found
以上是關(guān)于Python ord()函數(shù)使用情況的介紹。如有問題請(qǐng)留言。
新聞熱點(diǎn)
疑難解答