如何在Python中覆盖方法对象的__call__方法?
发布时间:2020-05-23 18:44:36 所属栏目:Python 来源:互联网
导读:参见英文答案 Python functions and their __call__ attribute1个这是我到目前为止正在使用的内容def f(n): return n f.__call__ = lambda n: n + 1 print f(2) #I ex
|
参见英文答案 > Python functions and their __call__ attribute1个
我对实现所需输出的另一种方式不感兴趣.相反,出于教育目的,我想知道为什么像我所做的那样压倒__call__,并不像我期望的那样工作. 最佳答案 这似乎是由于ceval.c中函数类型的特殊大小,在call_function中:
我猜这可能是为了提高效率,因为调用常规函数并忽略__call__属性是迄今为止最常见的调用方式. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
