【发布时间】:2020-12-05 17:48:57
【问题描述】:
我可以使用什么技巧让 IDE 为动态生成的类属性提供代码完成功能?比如
class A:
def __init__(self):
setattr(self, "a", 5)
此代码会将名为a 的A 的类属性设置为5 的值。但是 IDE 不知道 a,因此您无法获得它的代码完成功能。我有read that __dir__ 方法可以上钩,但该答案中提出的建议对我不起作用。有人有什么想法吗?
【问题讨论】:
-
我也不太确定是否投反对票。我的直觉是,您的问题的答案是“否”,因为静态分析在这里看不到任何东西,但是,嘿,JIT 是一回事,也许有一些智能 IDE 魔法可以做到这一点
-
我的想法也是如此,但如果有一个黑客可以让它工作,那就太好了。也许那里有一个 Python 向导可以帮助我:)
-
哪些 IDE?还有什么限制? (例如,您可以使用
a: int之类的类型注释吗?文档字符串?) -
我使用 Pycharm,但如果能与其他人一起使用它会很有趣。是的,类型注释是允许的......事实上,我对任何和所有想法都感兴趣。我遇到过几次这个问题,想知道是否存在 any 策略,无论需要哪些工具(如类型注释)。感谢您的回复。
标签: python autocomplete attributes