Python进阶-----类的内置item属性方法

Posted Meanwey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python进阶-----类的内置item属性方法相关的知识,希望对你有一定的参考价值。

类的内置item相关方法只有在通过字典key操作才会触发
而通过点的方式来操作,则触发attr相关方法

class Foo:
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def __getitem__(self, item):
        print(执行getitem)
        return self.__dict__[item]

    def __setitem__(self, key, value):
        print(执行setitem)
        self.__dict__[key] = value

    def __delitem__(self, key):
        print(执行delitem)
        self.__dict__.pop(key)

f = Foo(Jerry,18)

#获取属性,通过字典key的形式,其实是操作底层__dict__[key]来获取相应的值
print(f[name])   #执行getitem    Jerry

#设置(修改)属性,也是通过字典key的形式,其实是操作底层__dict__[key] = value 来设置(修改)相应的值
f[name] = Meanwey   #执行setitem
print(f.__dict__)       #{‘name‘: ‘Meanwey‘, ‘age‘: 18}

#删除属性,通过字典key的形式,其实是操作底层__dict__.pop(key)来删除相应的属性和值
del f[age]            #执行delitem
print(f.__dict__)       #{‘name‘: ‘Meanwey‘}

 


以上是关于Python进阶-----类的内置item属性方法的主要内容,如果未能解决你的问题,请参考以下文章

01月10日 四周三次Python基础进阶

Python随心记--类的内置attr属性

Python 基础进阶

python进阶之类常用魔法方法和魔法属性

Python进阶-----通过类的内置方法__format__自定制格式化字符串

Python进阶-----通过类的内置方法__str__和__repr__自定制输出(打印)对象时的字符串信息