对于一般硬件类,我为运行时可能需要的物理设备制作了可选的占位符属性。当使用 Pycharm 的 IDE 时,这与自动完成功能配合得很好。然而,调试控制台的自动完成似乎比 IDE 知道的要少。
问题:有没有办法让已定义和未定义的属性都可在调试控制台中自动完成,即与 IDE 中的行为相同?
最小示例:
class OptionalAttributes:
my_string: str
my_predefined_str: str = "hello world"
如果我错了,请纠正我,但我相信变量注释声明不会初始化变量本身,因此 PyCharm 控制台看不到它。
在类的
__annotations__
中添加注释:
print(OptionalAttributes.__annotations__)
{'my_string': <class 'str'>, 'my_predefined_str': <class 'str'>}
更多信息见PEP 526。