菜鸟IT的博客 >> Python
类的自定义序列方法 __len__ ,__setitem__, __getitem__ ,__delitem__ | 使用类的方式模拟字典的增删改(增加删除修改)
class MyZianDian:
def __init__(self):
self.length=0
self.ZiDian1={}
print("已经实例化1个类")
# 模拟序列操作,获取字典的长度。
def __len__(self):
return self.length
# 模拟序列,设置字典
def __setitem__(self, key, value):
self.ZiDian1[key]=value
self.length=self.length+1
print("字典增加了1项,这1项的键值:",key,"=",value)
# 模拟序列获取字典
def __getitem__(self,item):
self.ZiDian1[item]
# 模拟序列,进行删除某个项
def __delitem__(self, key):
del self.ZiDian1[key]
self.length = self.length - 1
# 实例化类
md=MyZianDian()
# 用类的方式增加元素
md["AAA"]="张三"
print("第1次字典长度:",len(md),",当前字典1:",md.ZiDian1)
md["BBB"]="李四"
print("第2次字典长度:",len(md),",当前字典2:",md.ZiDian1)
md["CCC"]="王五"
print("第3次字典长度:",len(md),",当前字典3:",md.ZiDian1)
# 模拟类的删除
del md["BBB"]
print("第4次字典长度:",len(md),",当前字典4:",md.ZiDian1)
————————
输出结果:
已经实例化1个类
字典增加了1项,这1项的键值: AAA = 张三
第1次字典长度: 1 ,当前字典1: {'AAA': '张三'}
字典增加了1项,这1项的键值: BBB = 李四
第2次字典长度: 2 ,当前字典2: {'AAA': '张三', 'BBB': '李四'}
字典增加了1项,这1项的键值: CCC = 王五
第3次字典长度: 3 ,当前字典3: {'AAA': '张三', 'BBB': '李四', 'CCC': '王五'}
第4次字典长度: 2 ,当前字典4: {'AAA': '张三', 'CCC': '王五'}
进程已结束,退出代码0
菜鸟IT博客[2022.01.02-23:26] 访问:332