为了账号安全,请及时绑定邮箱和手机立即绑定

如何让我的 IDE 识别动态添加的功能?

如何让我的 IDE 识别动态添加的功能?

隔江千里 2022-04-23 17:16:17
我目前正在用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这个类中有一些动态添加的函数吗?也许有一些方法可以使用元类或类似的东西......但我在谷歌上没有找到任何东西,我不知道在哪里可以尝试。我希望你能帮助我:)
查看完整描述

1 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

我有一个类似的请求并直接询问 PyCharm 错误跟踪器:PY-28326。我认为他们的回答也适用于您的问题:

PyCharm 目前不支持动态添加到类的方法。


查看完整回答
反对 回复 2022-04-23
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号