Pycharm在调试控制台中自动完成未定义的类属性?

yftpprvb  于 12个月前  发布在  PyCharm
关注(0)|答案(1)|浏览(182)

对于一个通用的Hardware类,我为运行时可能需要的物理设备创建了可选的占位符属性。在使用Pycharm的IDE时,这与自动完成功能配合良好。但是,调试控制台的自动完成功能似乎比IDE知道的要少。
问:有没有一种方法可以让已定义和未定义的属性都可以在调试控制台中自动完成,也就是说,与IDE中的行为相同?
最小示例:

class OptionalAttributes:
    my_string: str
    my_predefined_str: str = "hello world"

***Pycharm IDE:**属性及其类型都可用于自动完成:

***Pycharm调试控制台:**自动完成只知道预定义的属性。它不知道属性my_string,因此无法推断其类型。

zfciruhq

zfciruhq1#

如果我错了,请纠正我,但我相信变量注解声明不会初始化变量本身。它还不存在,所以PyCharm控制台看不到它。
在类的__annotations__中添加了注解:

print(OptionalAttributes.__annotations__)
{'my_string': <class 'str'>, 'my_predefined_str': <class 'str'>}

更多信息在PEP 526
更详细的答案在这里:https://stackoverflow.com/a/57081373/22542854

相关问题