mypy“类模块”注解

Posted

技术标签:

【中文标题】mypy“类模块”注解【英文标题】:Mypy "class module" annotation 【发布时间】:2017-02-11 03:27:54 【问题描述】:

我有一个函数load_config,它加载并返回一个python模块:

import imp

def load_config(path: str):
    return imp.load_source('config', path)

print(type(load_config('config.py')))

这个 sn-p 打印 <class 'module'>

如何使用 Mypy 注释 load_config 返回值?

【问题讨论】:

【参考方案1】:

正确的注解是:

import imp
import types

def load_config(path: str) -> types.ModuleType:
  return imp.load_source('config', path)

但是,在当前版本的 mypy 中有一个 open issue 来修复它。

【讨论】:

以上是关于mypy“类模块”注解的主要内容,如果未能解决你的问题,请参考以下文章

如何为 Mypy 类型注释指定 OrderedDict K,V 类型?

为啥 mypy 认为缺少库导入?

设置 pyflake 和 mypy 忽略同一行

使用元组列表重塑数组时出现 mypy 错误

JDK注解替代Hibernate的Entity映射

11.5K Star,一个开源的 Python 静态类型检查库