玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容

请python高手帮我看看这段python代码中函数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)

这个嵌套函数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。

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/wenda/wd20535.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月18日 - 15时46分32秒 发布自玩蛇网

我要分享到:
尚未注册畅言帐号,请到后台注册

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules