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_垃 ...