我想在docstring中定义一个rtype,使用一个没有在模块中全局导入的类(因为我不能这样做,因为循环导入)。在
也就是说,像这样:
def get_engine():
"""
:rtype: sisyphus.localengine.LocalEngine
"""
from sisyphus.localengine import LocalEngine
return LocalEngine()
sisyphus
是一个包,sisyphus.localengine
是该包中的模块。我在PyCharm中注册了sisyphus
的父目录作为源根目录。在
这似乎行不通。至少PyCharm(2018.2.4)显示了这个函数的类型提示() -> Any
。在
如果我删除rtype
提示,它将显示正确的提示() -> LocalEngine
,因此音频检测可以工作(如果我不想显式指定它)。在
如何正确地指定rtype
提示以使其正常工作?在
假设您使用python>;=3.5,那么可以在类型提示中使用forward references。
也可以看到这个喷射器blog post。在
相关问题 更多 >
编程相关推荐