python - setitem/getitem/delitem类的内置方法

 

# class 内置方法:
# __setitem__
# __getitem__
# __delitem__

class Test():
    X = 100

    def __getitem__(self, item):
        print("getitem")

    def __setitem__(self, key, value):
        print("setitem")

    def __delitem__(self, key):
        print("delitem")

xx = Test()

#通过字典的方式访问类的属性,触发getitem方法
print(xx['X'])

#通过字典的方式设置类的属性,触发setitem方法
xx['X'] = 200

#通过字典的方式删除类的属性,触发delitem方法
del xx['X']

# 结尾:
# 通过点的方式访问类属性或者修改删除,那么触发类的attr的内置方法
# 而通过字典的方式访问类或者修改删除,那么触发类的item的内置方法

 

posted @ 2018-10-13 23:00  Anec  阅读(324)  评论(0编辑  收藏  举报