python的__container__
时间: 2023-10-23 11:14:41 浏览: 110
Python 中的 `__contains__` 是一个魔术方法(magic method),用于确定对象是否包含某个元素。当我们使用 `in` 运算符来判断一个对象是否包含某个元素时,就会调用该方法。
例如,如果我们有一个自定义的类 `MyClass`,我们可以在类中定义 `__contains__` 方法来指定对象包含某个元素的条件。下面是一个简单的示例:
```python
class MyClass:
def __init__(self, elements):
self.elements = elements
def __contains__(self, item):
return item in self.elements
my_obj = MyClass([1, 2, 3, 4])
print(2 in my_obj) # 输出 True
print(5 in my_obj) # 输出 False
```
在这个例子中,我们创建了一个自定义类 `MyClass`,它接收一个列表 `elements` 作为参数。我们重载了 `__contains__` 方法,该方法检查给定的元素是否在 `elements` 列表中。
当我们使用 `in` 运算符来检查 `2 in my_obj` 和 `5 in my_obj` 时,会调用 `MyClass` 的 `__contains__` 方法来判断元素是否存在于列表中。根据我们在 `__contains__` 方法中的实现逻辑,对应的结果将会是 `True` 和 `False`。
阅读全文