Python 魔术方法笔记

魔术方法总是被__包围, 如__init__ , __len__都是常见的魔术方法,这里主要写一下我遇到的一些魔术方法

setitem

对某个索引值赋值时

即可以进行赋值操作,如

    def __setitem__(self, k, v):
        self.put(k, v)

在上述代码的情况下,可以执行p['key'] = value操作,即将key赋给k,value赋给v,执行put(k, v)函数。所以,__setitem__建立的前提,是要这个函数内的操作本来具有赋值的性质。

getitem

使用索引访问元素时

这个操作时取值操作,如

    def __getitem__(self, key):
        return self.get(key)

在有上述函数的情况下,可以执行z = p['key'] 操作,即将'key'传入get(key)函数中,进行取值。

猜你喜欢

转载自www.cnblogs.com/bjwu/p/9013055.html