Skip to content

hellowac/mypy-zh-cn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mypy logo

English

Mypy: 用于 Python 的静态类型检查

Stable Version Downloads Build Status Documentation Status Chat at https://gitter.im/python/typing Checked with mypy Code style: black Linting: Ruff

有问题吗?

我们随时乐意回答问题!以下是一些提问的好地方:

  • 对于你感兴趣的任何内容,可以尝试 Gitter 聊天
  • 对于关于 Python 类型的常规问题,可以尝试 类型讨论

如果你刚刚开始,可以查看 文档类型提示备忘单 来帮助解答问题。

如果你认为发现了一个 bug:

要报告 bug 或请求增强:

要讨论新的类型系统特性:

什么是 mypy?

Mypy 是一个用于 Python 的静态类型检查器。

类型检查器帮助确保你在代码中正确使用变量和函数。通过 mypy,可以为你的 Python 程序添加类型提示(PEP 484),当你错误使用这些类型时,mypy 会发出警告。

Python 是一种动态语言,因此通常只有在运行代码时才会看到错误。Mypy 是一个 静态 检查器,它在不运行程序的情况下找到 bugs!

这里有一个小示例来激发你的兴趣:

number = input("你最喜欢的数字是什么?")
print("它是", number + 1)  # 错误:不支持的操作数类型 for + ("str" 和 "int")

为 mypy 添加类型提示不会干扰程序的运行方式。可以把类型提示视为类似于注释!即使 mypy 报告错误,你仍然可以使用 Python 解释器运行你的代码。

Mypy 设计时考虑了渐进类型。这意味着你可以逐步为代码库添加类型提示,当静态类型不方便时,你可以随时回退到动态类型。

Mypy 具有强大且易于使用的类型系统,支持类型推断、泛型、可调用类型、元组类型、联合类型、结构子类型等特性。使用 mypy 可以使你的程序更容易理解、调试和维护。

有关更多示例和信息,请参见 文档

特别是,查看:

快速开始

可以使用 pip 安装 mypy:

python3 -m pip install -U mypy

如果想运行最新版本的代码,可以直接从仓库安装:

python3 -m pip install -U git+https://github.com/python/mypy.git
# 或者如果你没有安装 'git'
python3 -m pip install -U https://github.com/python/mypy/zipball/master

现在,你可以这样进行程序的类型检查

mypy PROGRAM

即使 mypy 报告类型错误,你仍然可以使用 Python 解释器运行你的静态类型程序:

python3 PROGRAM

你也可以在 在线沙盒 中尝试 mypy(由宫崎佑介开发)。如果你在处理大型代码库,可以在 守护进程模式 下运行 mypy,这将提供更快(通常是毫秒级)的增量更新:

dmypy run -- PROGRAM

集成

Mypy 可以集成到流行的 IDE 中:

网站和文档

更多信息可在网站上找到:

https://www.mypy-lang.org/

直接跳转到文档:

https://mypy.readthedocs.io/

查看我们的更新日志:

https://mypy-lang.blogspot.com/

贡献

在测试、开发、文档和其他任务方面的帮助非常感谢,并对项目有用。所有经验水平的贡献者都有任务可以参与。

要开始开发 mypy,请参阅 CONTRIBUTING.md

如果你需要帮助入门,请随时在 Gitter 上询问。

Mypyc 和 mypy 的编译版本

Mypyc 使用 Python 类型提示将 Python 模块编译为更快的 C 扩展。Mypy 本身就是使用 mypyc 编译的,这使得 mypy 的速度大约是解释版本的 4 倍!

要安装解释版本的 mypy,请使用:

python3 -m pip install --no-binary mypy -U mypy

要使用开发版本的 mypy 的编译版本,可以直接从 https://github.com/mypyc/mypy_mypyc-wheels/releases/latest 安装二进制文件。

要为 mypyc 项目贡献,请查看 https://github.com/mypyc/mypyc

Packages

No packages published

Languages

  • Python 95.5%
  • C 3.1%
  • C++ 1.2%
  • XSLT 0.1%
  • Shell 0.1%
  • CSS 0.0%