为什么p大于P?

时间:2017-06-02 13:39:55

标签: python string python-2.7

print 'Python' > 'python'  # equals False
print 'python' > 'Python'  # equals True

有人可以解释一下这是如何解释的,因为p是较小的情况,然后是资本P?但是p总是比P更大。

在Python 2.7上测试

2 个答案:

答案 0 :(得分:1)

这可能与字母的unicode值有关。

>>> ord('p')
112
>>> ord('P')
80

112 > 80,因此'p' > 'P'

答案 1 :(得分:0)

Python中的字符串比较是区分大小写的。 Python使用基于其ASCII或Unicode代码点的组成字符按字典顺序比较字符串。相同的原则适用于Python3。

在ASCII中,因此在Unicode中,小写字母大于所有大写字母。因此,'p' > 'P',甚至是'a' > 'Z'。在您的情况下,"python"以字母'p'开头,而"Python"以大写字母'P'开头。它们以不同的代码点开头;小写字母变体更大。

ASCII中的小写字母大于大写字母的约定是历史性的。