Python中的Overload()运算符

时间:2013-03-30 13:39:55

标签: python operator-overloading

我正在尝试为我的课学习Python中的currying,我必须为它重载()运算符。但是,我不明白如何重载()运算符。你能解释一下重载括号的逻辑吗?我应该首先(然后)过载,还是可以做任何这些?另外,括号运算符是否有特殊名称?

1 个答案:

答案 0 :(得分:37)

您可以通过实施__call__方法使对象可调用:

class FunctionLike(object):
    def __call__(self, a):
        print "I got called with %r!" % (a,)

fn = FunctionLike()
fn(10)

# --> I got called with 10!