#使用双下item方法来实现属性的增删改查:
# 查:__getitem__ 增改:__setitem__ 删除: __delitem__
class Goods:
def __init__(self,name):
self.name = name #{'name':'apple'},self.__dict__[key] = value,
# self.__dict__['name'] = 'apple'
def __getitem__(self,key):
#if hasattr(self,key):如果self里面有key才返回。
# return self.__dict__[key]
return self.__dict__[key]
def __setitem__(self,key,value):
self.__dict__[key] = value #相当于dic[key]=value,实现字典的增改。
def __delitem__(self,key):
del self.__dict__[key]
g = Goods('apple') #g是对象也是字典。
print(g['name']) #apple,g['name']启动__getitem__方法。查看属性。
print(g.name) #apple
g['price'] = 8 #启动__setitem__方法来增加属性。
print(g['price']) #8
print(g.price) #8
g.__dict__['name'] = 'pear'
print(g['name']) #pear,启动__setitem__方法来修改属性。
del g['name'] #启动__delitem__来删除属性。
print(g.__dict__) #{'price': 8}