为什么 print('a' > 'b') 为 False 而 print('a' > 'A') 为 True?

Ket*_*tan 2 ascii python-3.x output

当我们执行程序时,print('a' > 'b')它给了我们答案 False。

当我们执行程序时,print('a' > 'A')它给了我们答案 True。

请帮我做一个详细的解释。

Dea*_*nen 8

使用<or比较字符时,将其>转换为整数。

根据ASCII 表

意义:

  • a 是十进制的 97
  • b 是十进制的 98
  • A 是 65 位十进制数
  • B 是十进制的 66

因此:

print('a' > 'b') 是假的,因为 print(97 > 98)

进而:

print('a' > 'A') 是真的,因为 print(97 > 65)