当在Python中调用函数时会发生什么?

时间:2016-04-14 12:06:37

标签: python python-3.x

在Python中调用函数时到底发生了什么?解释器是否调用了对象的__call__方法?那么,当我替换它的__call__方法时,为什么函数的行为保持不变?

(我正在使用Python 3)

>>> def foo(): return 1
>>> foo()
1
>>> foo.__call__()
1
>>> foo.__call__ = lambda: 2
>>> foo.__call__()
2
>>> foo()
1

谢谢。

0 个答案:

没有答案