字符串的驻留机制和比较

  • 字符串的驻留:仅保存一份相同切不可变字符串的方法,不同的值被放在字符串的驻留池中。

python支持字符串的驻留机制,对于符合标识符规则的字符串(仅包含下划线,字母和数字),会启用字符串驻留机制

 1 >>> a="abc_33"
 2 >>> b="abc_33"
 3 >>> a is b
 4 True
 5 >>> a==b
 6 True
 7 >>> c="dd@"
 8 >>> d="dd@"
 9 >>> c is d
10 False
11 >>> c == d
12 True

字符串比较和同一性

我们可以直接用==,!=对字符串进行比较,是否含有相同的字符

我们使用is/ is not 判断两个对象是否为同一对象,比较的是对象的地址,即id(obj1)是否和id(obj2)相等

成员操作符

in/not in 关键字,判断某个字符/字符串是否存在于字符串中

1 >>> a="abcdefg"
2 >>> "b" in a
3 True
4 >>> "v" in a
5 False