1、说明
(1)非封闭包装方式定义了Averager这一类。然后,在初始化方法中,定义了数组series,以保存输入的数值。
(2)接着使用__call__这样的实例对象可以像调用普通函数一样以对象名()的形式使用方法(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))
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)