如何告诉Sublime该函数返回将在Python中返回该类?

时间:2018-08-16 04:40:54

标签: python python-3.x sublimetext3

我有一些这样的代码:

@zhihu.log_attr
@zhihu.iter_factory('voters')
def voters(x):
    from .People import People
    return People(x)

但是IDE ... Imgur Image

所以我尝试这种方式:

@zhihu.log_attr
@zhihu.iter_factory('voters')
def voters(x)->People:
    from .People import People
    return People(x)

但这不起作用。

NameError: name 'People' is not defined

1 个答案:

答案 0 :(得分:0)

如果在定义函数时未定义返回类型,则可以将返回类型指定为字符串:

@zhihu.log_attr
@zhihu.iter_factory('voters')
def voters(x) -> 'People':
    from .People import People
    return People(x)

PyCharm足够聪明,可以使用上面的内容查找对象属性,希望Sublime也是如此。

修改:此处提供更详细的答案:Name not defined in type annotation