我目前正在用python开发一个动态软件系统。它包括在许多点上使用依赖注入,这是通过动态类属性实现的。我的目标是动态地将一个函数添加到一个类(使用setattr)中,这样可以很好地工作。我唯一的问题是IDE(在我的情况下是PyCharm)不知道这些功能并将其标记为“未解决的参考”。尽管脚本运行没有错误,但它看起来不是很好,我希望 IDE 支持其他不了解这些功能的程序员。这是我的意思的一个例子:class A: def __init__(self, func_obj): setattr(self, 'custom_function', func_obj)a = A(print) # Unresolved attribute reference 'custom_function' for class 'A' ...a.custom_function('Hello World!')正如预期的那样,此示例打印“Hello World!”。但我觉得很难看,IDE 在最后一行显示警告,我在其中调用了“custom_function”。如果您尝试使用鸭子类型来探索脚本,也没有自动完成功能。那么让我来回答我的问题:有什么方法可以告诉IDE这个类中有一些动态添加的函数吗?也许有一些方法可以使用元类或类似的东西......但我在谷歌上没有找到任何东西,我不知道在哪里可以尝试。我希望你能帮助我:)
添加回答
举报
0/150
提交
取消