本文實例講述了python中__call__內置函數的用法。分享給大家供大家參考。具體分析如下:
對象通過提供__call__(slef, [,*args [,**kwargs]])方法可以模擬函數的行為,如果一個對象x提供了該方法,就可以像函數一樣使用它,也就是說x(arg1, arg2...) 等同於調用x.__call__(self, arg1, arg2)。模擬函數的對象可以用於創建仿函數(functor) 或代理(proxy)
?
1 2 3 4 5 6 7 8 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)輸出:
?
1 2 3 >>> origin :100 x :2000希望本文所述對大家的Python程序設計有所幫助。