__contains__实例讲解
时间: 2023-07-21 20:00:00 浏览: 102
当我们在Python中使用 `in` 关键字判断一个对象是否包含某个元素时,可以通过重写 `__contains__` 方法来自定义对象的包含判断行为。该方法接受两个参数:要判断的元素和返回值为布尔值,表示元素是否存在。
下面是一个简单的示例,展示了如何在自定义类中实现 `__contains__` 方法:
```python
class MyList:
def __init__(self):
self.data = []
def __contains__(self, item):
return item in self.data
my_list = MyList()
my_list.data = [1, 2, 3, 4, 5]
print(3 in my_list)
print(6 in my_list)
```
输出结果为:
```
True
False
```
在这个示例中,我们定义了一个名为 `MyList` 的类,并在初始化方法中创建了一个空列表 `self.data`。通过重写 `__contains__` 方法,当我们使用 `in` 关键字判断对象是否包含某个元素时,会调用该方法来执行包含判断操作。
在主程序中,我们创建了一个 `MyList` 的实例 `my_list`,并将一个列表赋值给它的 `data` 属性。然后使用 `in` 关键字分别判断 `3` 和 `6` 是否在 `my_list` 中。根据重写的 `__contains__` 方法,只有 `3` 存在于列表中,所以第一个判断返回 `True`,第二个判断返回 `False`。
通过重写 `__contains__` 方法,我们可以灵活地自定义对象的包含判断行为,以适应不同的需求和逻辑。
阅读全文