Python(二十三)python字符串比较

115 阅读1分钟

Python字符串比较本身是属于python字符串的一部分。

为什么把他拿出来单独说呢,我之前是做web开发,也接触过C#开发,在这两门语言中的字符串比较与python中的字符串比较稍有不同

Python可以使用相等(==)和比较(<,>,!=,<=,> =)运算符执行Python字符串比较。 没有比较两个字符串的特殊方法。

而我目前接触到的其他几门语言 字符串比较好像是只有 == 与 != 两种操作,当然,我也没有在除python的语言中用过 >= 与 <= 来比较字符串。

我们先大概了解下python字符串比较的规则与原理:

比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个  字符串的比较结果,两个字符串中的所有后续字符将不再被比较

比较原理:两上字符进行比较时,比较的是其ordinal value(原始值),调用内置函  数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr,  调用内置函数chr时指定ordinal value可以得到其对应的字符

两个字符串中的字符执行Python字符串比较,两个字符串中的字符被一一比较。 当找到不同的字符时,将比较它们的Unicode值。 Unicode值较低的字符被认为较小。

简单说就是两个字符串中的字符一个一个的比较,有一个比较出结果了,后边的就不比较了

比如:

a = 'helloWorld'
b = 'hello'
if a > b:
    print('true')
else:
    print('false')

输出:

true

解释一下:变量A和B前五个字符相同,a有第六位字符,b没有第六位字符,因此a比b大。

下面我们来看另一个简单的小例子:

str1 = 'apple'
str2 = 'banner'
if str1 > str2:
    print('true')
else:
    print('false')

输出:

false

解释一下:这个比较我们应该参照上边的比较原理

我们看两个字符串的首个字符:

print(ord('a'),ord('b'))  # 输出97 98

98 大于 97 因此 字符 str1 大于 str2

以上大概就是python中的字符串比较的基本操作。

有好的建议,请在下方输入你的评论。