這應該是非常簡單的,但我沒能谷歌它:如何(如果有的話)我可以重載Python中的parantheses運算符?因此,此代碼將有意義:在Python中重載標準偏誤(「()」)
my_new_object = my_new_class()
x = my_new_object(5)
這應該是非常簡單的,但我沒能谷歌它:如何(如果有的話)我可以重載Python中的parantheses運算符?因此,此代碼將有意義:在Python中重載標準偏誤(「()」)
my_new_object = my_new_class()
x = my_new_object(5)
您需要在您的課程上定義__call__
。
例如
>>> class Multiplier(object):
... def __init__(self, num):
... self.num = num
... def __call__(self, other):
... return self.num*other
...
>>> mul5 = Multiplier(5)
>>> mul5(6)
30
定義__call__()
你的類:
class MyNewClass(object):
def __call__(self, x):
return x
你應該看看的this document的 「通知類型」 一節。特別是,你的班級可以實施__call__
。
沒有操作員「超載」。你想創建一個可調用的對象嗎? – 2012-02-09 12:50:00