python集合有哪些魔法函数

说明

1、_len_调用len()方法时,就是调用对象内的_len_()方法

2、_getitem_调用object[item]方法时,就是调用对象内的_getitem_()方法,字典专用

3、_setitem_调用object[item]=xxx方法时,就是调用对象内的_setitem_()方法,字典专用

实例

class TestContainer:
    def __init__(self):
        self.my_list = []
        self.my_dict = {}
 
    def __len__(self):
        return len(self.my_list)
 
    def append(self, v):
        self.my_list.append(v)
 
    def __getitem__(self, item):
        return self.my_dict.get(item)
 
    def __setitem__(self, key, value):
        self.my_dict[key] = value
 
    def __delitem__(self, key):
        del self.my_dict[key]
 
    def __contains__(self, item):
        return True if item in self.my_list else False
 
 
testContainer = TestContainer()
testContainer.append(1)
print(len(testContainer))
testContainer["name"] = "xiaoming"
print(testContainer["name"])
del testContainer["name"]
print(testContainer["name"])
print(1 in testContainer)

说明1、_new_在对象实例化之前调用,new()方法将返回cls(cls代表当前类别)的实例,然后这种__init__()方法将作为结构方法接收此实例。2、_init_是对象初始化函数。3、_del_垃 ...