使用字典的方式来操作类和对象
#item系列 class Foo: #Dict def __init__(self,name): self.name=name def __getitem__(self, item): #item=‘namexxx‘ # print(‘getitem...‘) return self.__dict__.get(item) def __setitem__(self, key, value): # print(‘setitem...‘) # print(key,value) self.__dict__[key]=value def __delitem__(self, key): # print(‘delitem...‘) # print(key) del self.__dict__[key] #或 self.__dict__.pop(key) obj=Foo(‘egon‘) # print(obj.__dict__) #查看属性: # obj.属性名 触发__getitem__方法 # print(obj[‘namexxx‘]) #等价于 obj.name 不过,这种形式这样写就会报错了。 #设置属性: 触发__setitem__方法 # obj.sex=‘male‘ # obj[‘sex‘]=‘male‘ # print(obj.__dict__) # print(obj.sex) #删除属性 触发__delitem__方法 # del obj.name # del obj[‘name‘] # # print(obj.__dict__)
原文地址:https://www.cnblogs.com/beallaliu/p/9119305.html
时间: 2024-10-13 18:51:21