python-面向对象之item系列(__getitem__,__setitem__,__delitem__)

Posted xiechao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-面向对象之item系列(__getitem__,__setitem__,__delitem__)相关的知识,希望对你有一定的参考价值。

class Foo:
    def __getitem__(self, item):
        print(‘=====>get‘)
        return self.__dict__[item]

    def __setitem__(self, key, value):
        self.__dict__[key] = value
        # setattr(self,key,value)

    def __delitem__(self, key):
        self.__dict__.pop(key)


f = Foo()
f.x = 1
print(f.x)
print(f.__dict__)

1、增加

f[‘x‘] = 123123123123
print(f.__dict__)
f[‘x‘]

2、删除 

del f[‘x‘]
print(f[‘x‘])

  

以上是关于python-面向对象之item系列(__getitem__,__setitem__,__delitem__)的主要内容,如果未能解决你的问题,请参考以下文章

python面向对象( item系列,__enter__ 和__exit__,__call__方法,元类)

Python基础(18)_面向对象程序设计2(反射__str____del____item__系列)

十.python面向对象(itme)

Python系列之反射面向对象

7Python全栈之路系列之面向对象运算符重载

2Python全栈之路系列之面向对象进阶及类成员