本文實例講述了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程序設計有所幫助。