这个问题对于有编程经验的人来说,是个非常简单的问题;
但是对于初学者来说,可能是个头疼的问题,所以以此记录一下。
Python在进行字符串的比较时,会将字符转换为Unicode码进行比较。
这是官方文档的说明:
字符串 (str 的实例) 使用其字符的 Unicode 码位数字值 (内置函数 ord() 的结果) 按字典顺序进行比较。 字符串和二进制码序列不能直接比较。
官方文档链接如下:点击此处
以下来演示几个小例子:
>>> 'A' > 'a'
False
比如用’A’与’a’进行比较,是False,为什么呢?
>>> ord('A')
65
>>> ord('a')
97
我们使用内置函数ord()就可以看出A字符的位置是65,而a是97,那么理所当然‘A’ < ‘a’
单个字符是这样比较,那么多个字符呢?
在多个字符的情况下,Python会根据字符串的顺序,一个一个向下进行比较
看以下例子证明:
>>> 'abc' > 'ABC'
True
>>> 'abc' > 'aBC'
True
>>> 'abc' > 'abC'
True
>>> 'abc' > 'abc'
False
>>> 'abc' > 'abd'
False