并且
types.ModuleType()是构造函数。
没关系
types.ModuleType就像
str和
intare一样,仍然是对类型的引用。不需要 通用
Module[typehint]注释,因此
types.ModuleType您在这里使用的注释也是如此。
例如,官方的Python排版项目为以下项提供了类型提示注释
sys.modules:
from types import frameType, ModuleType, TracebackType# ...modules: Dict[str, ModuleType]
不要被这里的名字弄糊涂了;
types.ModuleType是对模块类型的引用。它不是单独的工厂功能或其他功能。CamelCase名称遵循该模块的约定,您可以使用该引用,因为类型对象不能作为内置对象使用。该
types模块的值赋给
type(sys)的名称。
如果PyCharm在查找
types.ModuleType存根时遇到问题,则可能是PyCharm本身存在问题(错误),或者当前捆绑的存根已过时,或者您使用了不完整的分页集。有关如何使用自定义存根提供新集合的信息,请参阅PyCharm文档。
如果这不起作用,则可能是PyCharm中处理 导出
类型提示概念的错误。Typeshed当前在单独的模块中定义
ModuleType类型提示,然后使用语法将其导入到
types.pyi存根文件中
frommodule import name as name。PEP
484指出, 除非 使用以下
as语法,
否则 导入的类型提示不属于存根。
除非导入使用
import ... as ...表格或等效from ... import ... as...表格,否则导入到存根中的模块和变量不视为已从存根中导出。
PyCharm可能尚未正确处理此类情况。



