mypy

mypy

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

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

mypyPython静态类型检查类型提示代码质量Github开源项目
<img src="https://yellow-cdn.veclightyear.com/ab5030c0/450090e1-7d49-49f2-8abc-5a7a57e170d7.svg" alt="mypy标志" width="300px"/>

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

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

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

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多