美文网首页
python __getitem__,__setitem__的内

python __getitem__,__setitem__的内

作者: 远行_2a22 | 来源:发表于2019-07-05 15:57 被阅读0次

偶然看到类似这样的代码:

 def print_test(self):
        result = self['name'];
        print(result)

也就是说通过self[]访问类里的数据。查阅资料后,要想如此访问,必须实现__getitem__.进一步的,要想像字典一样的设置,则需要添加__setitem__

class DictDemo(object):
    def __init__(self, path=""):
        self._path = path
        self.data_dict = {
            "name": "jie",
            "age": 25,
        }
    def print_test(self, key):
        result = self[key];
        print(result)

    def __getitem__(self, item):
        result = self.data_dict.get(item)
        return result

    def __setitem__(self,key,value):
        self.data_dict[key]=value

my_dict = DictDemo()
my_dict.print_test("name")
my_dict["height"] = 185
my_dict.print_test("height")

参考:
python四个魔法方法len,getitem,setitem,delitem - yuan_j_y的专栏 - CSDN博客
https://blog.csdn.net/yuan_j_y/article/details/9317817

相关文章

网友评论

      本文标题:python __getitem__,__setitem__的内

      本文链接:https://www.haomeiwen.com/subject/dcsehctx.html