我希望能够在给定函数的开头插入一段代码。
研究主要提到使用装饰器,但是对于我的特定用例,我不想用附加的函数调用包装修改后的函数。
我也无法在函数中添加参数-我在运行时已经编译了函数,就是这样。
我不想使用包装器的原因是因为我想编写一个实用程序库,该程序库允许程序员在已经编写的函数的开头“粘贴”一段代码,而无需添加另一个级别完全到调用堆栈。主要是出于性能原因。
这怎么办?它将在不破坏Python版本的情况下工作吗?
答案 0 :(得分:1)
过早的优化是万恶之源。您不应该“简单地假设”包装函数会对性能产生重大影响。没有安全,简单,可移植的方式来完成您要问的事情。最适用的解决方案是自定义metaclass,因为它允许您控制基于它的新对象的创建。