以下代码:
if "IAMBIG" > "iambig":
print("True")
else:
print("False")
结果:
False
由于Python区分大小写,因此我了解检查相等性会导致上述False
语句中出现if
。但是,在检查 - “大于”(或小于)条件时,我不确定string
比较是如何工作的。
有人可以解释我在上述False
声明中获得if
的原因吗?
答案 0 :(得分:1)
Python 3将字符串作为unicode字符序列进行比较。由于字符I
的unicode编号为U+0049
,而字符i
的unicode编号为U+0069
,因此比较"I..." > "i..."
返回False
是很自然的。
我一般的拉丁文小写字母的数字大于大写字母,这将使大写的字符串"更小"使用比较运算符时小于大写。
供参考,这里是基本拉丁语unicode块的链接:http://unicode-table.com/en/blocks/basic-latin/