Python字符串的比较规则

字符串的比较运算符有:>、>=、<、<=、==、!=

比较后得到的是一个布尔值。

字符串的比较规则

首先比较两个字符串的第一个字符的ASCII码值,如果相等,则继续比较下一个字符,这样依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,后面的字符不必再做比较。

两个字符串的比较其实是比较他们的ASCII码值。哪个值大哪个字符串就大。

示例:

str1 = 'apple'
str2 = 'banana'
print(str1 > str2)  # False

print('abcd'>'abcs')    # False
print('apple' == 'app')    # False

#大写字母和小写字母不一样
print('A' < 'a')    # True
print('A =',ord('A'),',a =',ord('a'))   # A = 65 ,a = 97

通过内置函数 ord() 可以获取指定字符的ASCII码值或者Unicode数值。与之对应的是内置函数 chr() ,用于获取指定ASCII码值对应的字符。

>>> 'apple'>'banana'
False

>>> ord('a')
97
>>> ord('b')
98

>>> chr(97)
'a'
>>> chr(98)
'b'

==和is的区别:==比较的是值,is比较的是内存地址。

>>> a = 'abc%'
>>> b = c = 'abc%'
>>> a is b
False
>>> b is c
True
>>> id(a)
1442300869552
>>> id(b)
1442299424880
>>> id(c)
1442299424880

>>> x = y = 'hello'
>>> z = 'hello'
>>> x == y
True
>>> y == z
True
>>> x is y   #因为字符串的驻留机制,所以abc三个变量指向的是同一内存地址
True
>>> y is z
True
>>> id(x)
1442296562160
>>> id(y)
1442296562160
>>> id(z)
1442296562160
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容