📜  如何在Python中克隆方法代码?

📅  最后修改于: 2022-05-13 01:55:50.146000             🧑  作者: Mango

如何在Python中克隆方法代码?

methodName.__code__.replace()方法的帮助下,我们可以克隆内置方法的代码以及任何其他定义的方法,我们还可以使用methodName.__code__.replace()方法。

笔记 :
要运行下面给出的程序,您必须安装最新版本的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