我有一些这样的代码:
@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
答案 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