print 'Python' > 'python' # equals False
print 'python' > 'Python' # equals True
有人可以解释一下这是如何解释的,因为p
是较小的情况,然后是资本P
?但是p
总是比P
更大。
在Python 2.7上测试
答案 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中的小写字母大于大写字母的约定是历史性的。