自定义字典实现属性可以通过 对象.key的方式调用

自定义字典实现属性可以通过 对象.key的方式调用

class A():
    def __init__(self):
        self.name =2

    def __getitem__(self, item):
        """
        字典的魔术方法,实现此就可以通过: 对象['key']获取值
        """
        print("__getitem__")
        return self.__dict__[item]

    # def __getattr__(self, item):
    #     """
    #        魔术方法,实现此就可以通过: 对象.key 获取值,一般不需要实现
    #      """
    #     print("__getattr__")
    #     return self.__dict__[item]

a=A()
print(a.name)
print(a['name'])

你可能感兴趣的:(python,python)