怎樣在python中定義非閉包
1、說(shuō)明
(1)非封閉包裝方式定義了Averager這一類(lèi)。然后,在初始化方法中,定義了數(shù)組series,以保存輸入的數(shù)值。
(2)接著使用__call__這樣的實(shí)例對(duì)象可以像調(diào)用普通函數(shù)一樣以對(duì)象名()的形式使用方法(1)。接受參數(shù)作為需要計(jì)算的新數(shù)值,內(nèi)部保存在series數(shù)組中。
2、實(shí)例
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中定義非閉包的方法,希望能對(duì)大家有所幫助!更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。