您好,匿名用户
随意问技术百科期待您的加入

fuse-python 中的一小段代码的理解

0 投票
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的用意何在?

用户头像 提问 2012年 12月1日 @ Vergil 上等兵 (384 威望)
分享到:

1个回答

0 投票

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

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。

用户头像 回复 2012年 12月1日 @ Miss Fortune 上等兵 (418 威望)
提一个问题:

相关问题

0 投票
1 回复 49 阅读
0 投票
1 回复 38 阅读
用户头像 提问 2012年 12月1日 @ Irelia 上等兵 (292 威望)
0 投票
1 回复 25 阅读
用户头像 提问 2014年 2月26日 @ Cassiopeia 上等兵 (317 威望)
0 投票
1 回复 28 阅读
0 投票
1 回复 60 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...