1、说明
(1)Averager定义为非封闭包装。然后,在初始化方法中,定义了数组series来保存输入值。
(2)然后使用____call__这样的实例对象可以像调用普通函数一样以对象名称(1)的形式使用(1)。作为一个需要计算的新数值,接受参数保存在series数组中。
2、实例
classAverager(): def__init__(self): self.series=[] def__call__(self,new_value): self.series.append(new_value) total=sum(self.series) returntotal/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中定义非闭包的方法,希望对大家有所帮助!