怎样在python中定义非闭包

434次阅读
没有评论

怎样在python中定义非闭包

1、说明

(1)非封闭包装方式定义了Averager这一类。然后,在初始化方法中,定义了数组series,以保存输入的数值。

(2)接着使用__call__这样的实例对象可以像调用普通函数一样以对象名()的形式使用方法(1)。接受参数作为需要计算的新数值,内部保存在series数组中。

2、实例

class Averager():
 
    def __init__(self):
        self.series = []
 
    def __call__(self, new_value):
        self.series.append(new_value)
        total = sum(self.series)
        return total / len(self.series)
 
 
avg = Averager()
logging.info('avg(10) -> %s', avg(10))
logging.info('avg(20) -> %s', avg(20))
logging.info('avg(30) -> %s', avg(30))

以上就是在python中定义非闭包的方法,希望能对大家有所帮助!

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2021-05-06发表,共计517字。
新手QQ群:570568346,欢迎进群讨论 Python51学习