Python中Class里的__contains__(self,x)函数解析

网上搜了一些文章,有点绕.

在Class里添加__contains__(self,x)函数可以在类的实例化对象上进行 in 操作.

如下代码

class Graph():
    def __init__(self):
        self.items = {'a':1,'b':2,'c':3}

    def __str__(self):
        return '打印我干嘛'
    
    def __contains__(self,x): # 判断一个定点是否包含在里面
        return x in self.items



a = Graph()
print('a' in a) # 通过在类中添加 __contains__ , 可以实现 Class实例化的对象 进行 in 操作
print('d' in a) # 通过在类中添加 __contains__ , 可以实现 Class实例化的对象 进行 in 操作

>> True
>> False

相关推荐