请python高手帮我看看这段python代码中函数setter的用意,pythonsetter,def _add_cla


def _add_class_type(cls, type, inits, proxied):    def setter(self, xcls):         setattr(self, type + '_class', xcls)         for m in inits:              self.mdic[m] = xcls         for m in proxied:             if hasattr(xcls, m):                 self.mdic[m] = self.proxyclass(m)

这个嵌套函数setter的用意何在?

你漏了一行代码,这个方法是

def _add_class_type(cls, type, inits, proxied):    def setter(self, xcls):        setattr(self, type + '_class', xcls)        for m in inits:            self.mdic[m] = xcls        for m in proxied:            if hasattr(xcls, m):                self.mdic[m] = self.proxyclass(m)    setattr(cls, 'set_' + type + '_class', setter)

这个方法简单来说,就是把基础类和其他类的方法映射为本对象的方法,类似一个FACADE。

编橙之家文章,

评论关闭