如何在Python中克隆方法代码?
在methodName.__code__.replace()
方法的帮助下,我们可以克隆内置方法的代码以及任何其他定义的方法,我们还可以使用methodName.__code__.replace()
方法。
Syntax : methodName.__code__.replace()
Return : Return the object of new cloned method with few positional only arguments.
笔记 :
要运行下面给出的程序,您必须安装最新版本的Python ,即Python 3.8.2,否则它将显示如下错误。
AttributeError: ‘code’ object has no attribute ‘replace’.
示例 #1:
在这个例子中,我们可以看到通过使用methodName.__code__.replace()
方法,我们可以克隆内置方法的代码以及借助该方法定义的任何方法。
from statistics import median
# Using methodName.__code__.replace() method
median.__code__ = median.__code__.replace(co_posonlyargcount = 1)
print(median([1, 2, 3]))
输出 :
2
示例 #2:
def multiply(a, b):
return a * b
# Using methodName.__code__.replace(co_posonlyargcount = 1) method
multiply.__code__ = multiply.__code__.replace(co_posonlyargcount = 2)
print(multiply(5, 6))
输出 :
30