Skip to main content

5. 成员运算符

五、成员运算符​

成员运算符用于判断一个值是否存在于某个容器中,常见于字符串、列表、元组、集合和字典。

运算符含义
in存在于其中
not in不存在于其中

1. 判断字符串中是否包含某段文字​

text = "Python 入门教程"
print("Python" in text) # True
print("Java" in text) # False
print("Java" not in text) # True

2. 判断列表中是否存在某个元素​

scores = [70, 85, 92, 60]
if 85 in scores:
print("找到了 85 分")

3. 判断用户名是否在允许名单中​

allowed_users = ["村长", "奇奇", "小明"]username = "奇奇"if username in allowed_users: print("允许登录")else: print("用户不存在")

4. in 在字典中的特殊规则​

对于字典,in 默认检查的是键(key),不是值(value)。

student = { "name": "小明", "age": 18}print("name" in student) # Trueprint("小明" in student) # False

如果要检查字典中是否存在某个值,需要使用:

print("小明" in student.values()) # True

六、身份运算符​

身份运算符有两个:

  • is:判断两个变量是否指向同一个对象。
  • is not:判断两个变量是否没有指向同一个对象。

这是初学者容易和 == 混淆的地方。

1. == 和 is 的区别​

a = [1, 2, 3]b = [1, 2, 3]print(a == b) # Trueprint(a is b) # False

为什么?

  • a == b:比较两个列表的内容是否相等。内容相同,所以为 True。
  • a is b:比较两个变量是否指向同一个对象。这里创建了两个独立的列表,所以为 False。

再看一个例子:

a = [1, 2, 3]b = aprint(a == b) # Trueprint(a is b) # True

因为 b = a 让 b 指向了 a 所指向的同一个列表对象。

2. is 最常见的用途:判断 None​

result = Noneif result is None: print("暂时没有结果")

判断是否为 None 时,推荐使用 is None 或 is not None。

记忆口诀:

  • ==:看内容是否相等。
  • is:看是不是同一个对象。

初学者不需要用 is 来比较整数、字符串等普通数据的值。