Project Icon

mypy

增强 Python 代码可靠性的静态类型检查器

mypy 是一款专为 Python 设计的静态类型检查器。它在代码运行前分析类型提示,帮助开发者提前发现潜在问题。支持渐进式类型检查和类型推断等功能,有助于提升代码质量。mypy 可轻松集成到主流 IDE,通过 pip 即可安装。采用 mypyc 编译技术,性能得到显著提升。

mypy标志

Mypy:Python的静态类型检查

稳定版本 下载量 构建状态 文档状态 在https://gitter.im/python/typing聊天 已用mypy检查 代码风格:black 代码检查:Ruff

有问题吗?

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

如果你刚开始使用,文档类型提示速查表也可以帮助回答问题。

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

要报告bug或请求增强功能:

要讨论新的类型系统功能:

什么是mypy?

Mypy是Python的静态类型检查器。

类型检查器有助于确保你在代码中正确使用变量和函数。使用mypy,你可以在Python程序中添加类型提示(PEP 484),mypy会在你不正确使用这些类型时警告你。

Python是一种动态语言,所以通常只有在尝试运行代码时才能看到错误。Mypy是一个静态检查器,所以它无需运行程序就能发现其中的bug!

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

number = input("你最喜欢的数字是什么?")
print("它是", number + 1)  # 错误:不支持的操作数类型:"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

你还可以在在线平台(由Yusuke Miyazaki开发)上尝试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

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号