可能重复:
How can I tell PyCharm what type a parameter is expected to be?
我发现在IntelliJ IDEA(和PyCharm)中编写Python代码,您可以使用Epytext或reStructuredText来记录预期类型的参数和返回类型。这些可以根据需要提供,以帮助IDE提供自动完成并改进其检查错误检查。
我无法弄清楚的是如何为实例变量和类变量指定类型注释。有没有办法以IntelliJ识别的方式执行此操作?
例如,说IntelliJ无法推断some_function()
的返回类型,并且该函数位于库中,我们无法添加@rtype
注释。如何提供self.bar
实例变量的类型?
class Foo:
def __init__(self):
# How can I document that self.bar is of type Bar?
self.bar = some_function()
修改
最后找到了用于记录实例变量类型的正确语法。在变量赋值后直接放置文档字符串。
class Foo:
def __init__(self):
self.bar = some_function()
"""@type: Bar"""
需要注意的两件事是IntelliJ / PyCharm only seems to understand the variable docstring format。注释docstring格式或类docstring中的指定类型不起作用。
此外,还有appears to be a bug,其中变量docstrings不适用于双下划线前缀变量。