__getitem__\__setitem__\__delitem__

Posted rongye

tags:

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


class Foo(object):
def __init__(self):
self.data = {}
def __getitem__(self, key):
print(‘__getitem__‘, key)
return self.data.get(key)
def __setitem__(self, key, value):
print(‘__setitem__‘, key, value)
self.data[key] =value
def __delitem__(self, key):
print(‘__delitem__‘, key)


obj = Foo()
obj[‘name‘] = "alex"
# print(obj[‘name‘])
# print(obj.data)
del obj["sdfdsf"]
# result = obj[‘k1‘] # 自动触发执行 __getitem__
# obj[‘k2‘] = ‘alex‘ # 自动触发执行 __setitem__
# del obj[‘k1‘]

__setitem__ name alex
__delitem__ sdfdsf

























以上是关于__getitem__\__setitem__\__delitem__的主要内容,如果未能解决你的问题,请参考以下文章

__getitem__ __setitem__ __delitem__ 使用

python学习之__getitem__,__setitem__,__delitem__

python - __setitem__/__getitem__/__delitem__类的内置方法

__getitem__\__setitem__\__delitem__

为啥当我使用 [:] 时我的子类的 __getitem__ 和 __setitem__ 没有被调用?

python 魔法方法之:__getitem__ __setitem__ __delitem__