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