- 成员运算符
- 身份运算符
| 运算符 | 运算规则描述 |
|---|---|
| in | 如果在指定的序列找到值返回True,否则返回False |
| not in | 反之,如果没有在指定的序列找到值返回True,找到了返回False |
例1:判断字符串中是否包含指定字符:
a = "hello world"
if 'h' in a:
print("yes")
例2:判断数组中是否包含指定的值:
a = ["Bob",1,2,"hello"]
if "hello" in a:
print("yes")
身份运算符
| 运算符 | 运算规则描述 |
|---|---|
| is | is判断的是是否引用同一个内存空间,如果是就返回True,不是就返回False |
| is not | 反之,如果没有引用同一个内存空间,则返回True,否则False |
引用同一个内存空间是什么意思?
内存空间就像一个公寓里的每个屋子,每个屋子里都住着家人(内容),每个屋子都有房间号(id),id具有唯一性。
is就是根据房间号(id)进行判断:两个变量a和b,如果a is b,那就意味着id(a)==id(b),即变量a和变量b引用同一个内存空间。
is 与 == 什么时候会不同?
还是把内存空间比作一个公寓里的屋子,每个屋子里都住着家人(内容),每个屋子都有房间号(id)。而一个家人可以在这个公寓里有两个房子或者很多房子。==根据“是不是这家人”这个准则来判断是True还是False,而is是根据“是不是这个房间号(id是否相等)”来判断是True还是False。



