3.1.11 內置方法item系列--__getitem__(self,item)、__setitem__(self,item)、__delitem__(self,item)
阿新 • • 發佈:2018-06-01
形式 使用 sel 操作類 就會 pre 方法 print In
使用字典的方式來操作類和對象
#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__)
3.1.11 內置方法item系列--__getitem__(self,item)、__setitem__(self,item)、__delitem__(self,item)