如何装饰/覆盖一个独立于导入方式的函数?

时间:2015-10-18 11:00:27

标签: python

我有以下问题。我想装饰从模块导入的特定函数。像这样:

import matplotlib.pyplot as plt

plt.figure = decorator(plt.figure)

但是,要这样做,我需要知道用户将如何导入特定的功能(本例中的matplotlib图形函数)。我正在寻找的是独立于导入函数来装饰函数的方法:

import matplotlib.pyplot as plt
import matplotlib as mpl
from matplotlib.pyplot import figure

decorate_figure_function() # This function shall decorate the figure-function independent of how it is imported

我希望你理解我的问题。

上下文:我正在尝试为matplotlib构建一个记录器,它可以监控数字

1 个答案:

答案 0 :(得分:0)

如果创建一个以方法作为参数的函数,则无论如何导入它都无关紧要。您可以根据需要为参数命名,在该函数中可以通过该名称引用它。

听起来你想要做的就是创建自己的人物类。只需从图中继承并添加自己的方法,构造函数等。

具体见图example。一般而言Python class syntax