我是钩子新手,所以我需要一个建议。假设我有一个函数将一些数据作为输入并生成一个图:
def f(data, options):
plot = produce_plot(data)
apply_options(plot) # changing colors, style, ...
export(plot, option.format)
return plot
这个函数不是用户直接调用的,而是在循环内部调用的,例如:
data_categories = divide_in_category(data)
for d in data_categories: f(data, color=user_option.color, format='png')
现在,我想根据需要为用户提供使用此图进行更多操作的可能性。假设用户想要添加标签并进行一些拟合,我认为一个好主意是提供一个挂钩来访问 function 的内部f
。钩子应该在export
函数之前执行。问:怎么办?如何提供f
挂钩内部的内部结构?
我无法使用options
参数处理所有无限用例 as options.do_fit
, options.add_label
, ...