使用字典的方式来操作类和对象
#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__)