本文實(shí)例講述了python中__call__內(nèi)置函數(shù)的用法。分享給大家供大家參考。具體分析如下:
對(duì)象通過提供__call__(slef, [,*args [,**kwargs]])方法可以模擬函數(shù)的行為,如果一個(gè)對(duì)象x提供了該方法,就可以像函數(shù)一樣使用它,也就是說x(arg1, arg2...) 等同于調(diào)用x.__call__(self, arg1, arg2)。模擬函數(shù)的對(duì)象可以用于創(chuàng)建仿函數(shù)(functor) 或代理(proxy)
class DistanceForm(object): def __init__(self, origin): self.origin = origin print "origin :"+str(origin) def __call__(self, x): print "x :"+str(x)p = DistanceForm(100)p(2000)
輸出:
>>> origin :100x :2000
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選