python中.pyi文件是什么?

这句话说的是pyi模块是为了辅助那些定义不明确的场景的。众所周知,Python是一种弱类型语言,不像C语言、Java语言以及Golang语言那样,在声明的时候必须确定类型,譬如int、string等等。弱类型语言在编写简单代码的时候确实给开发者带来了极大的方便,无需思考类型即可快速声明变量,然而随着代码的复杂程度...
python中.pyi文件是什么?
什么是pyi文件?在哪里可以看到pyi文件?

在Python的世界中,除了源码文件py、字节码文件pyc之外,还有类型指示文件pyi,扩展模块文件pyd和窗口文件pyw等,以后会逐一介绍。今天,先来看看pyi文件,走你!

在Python的PEP 484规范中有这样一段描述:在Python的PEP 484规范中有这样一段描述:This PEP introduces a provisional module to provide these standard definitions and tools, along with some conventions for situations where annotations are not available.

这句话说的是pyi模块是为了辅助那些定义不明确的场景的。

众所周知,Python是一种弱类型语言,不像C语言、Java语言以及Golang语言那样,在声明的时候必须确定类型,譬如int、string等等。弱类型语言在编写简单代码的时候确实给开发者带来了极大的方便,无需思考类型即可快速声明变量,然而随着代码的复杂程度增加,因为缺乏类型检查导致代码出问题的机率大大增加。弱类型语言也需要类型检测了。

那么问题来了,如果直接让Python在语言层面做类型检查就改变了Python弱类型语言的定位,就算Python的作者Guido van Rossum 答应,千千万万的Python开发者也不答应。于是,pyi文件出现了,pyi文件用于做类型检查,其中定义了接口参数的类型和返回值的类ing,但不能独立工作,需结合Pycharm等IDE的 TypeChecker 来工作,检查类型,这样就避免了Python语言层面的修改。

还是直接上代码,在Pycharm中编写如下代码:

这是一段很简单的代码,dir()函数是Python内置函数,用于获取object的属性和方法。按住CTRL+鼠标左键查看dir()函数定义,如下:

在builtins.py中可以看到dir()函数定义,参数和返回值都没有类型,且函数最左边有一个星号,直接点击星号即可进入对应的builtins.pyi文件中

在builtins.pyi中可以看到dir()函数的定义中,参数和返回存在具体类型,并且最左边也有一个星号,点击星号即可回到builtins.py文件中。

至此,我们可以看到要想使用pyi文件,只需要创建一个模块的同名pyi文件,将具备类型约束的函数声明写进去即可,这样就能配合Pycharm的TypeChecker,通过IDE来达到检查类型的目的了。2024-08-28
mengvlog 阅读 8 次 更新于 2025-07-19 11:47:23 我来答关注问题0
  •  文暄生活科普 详解Python文件: .py、.ipynb、.pyi、.pyc、?.pyd !

    .py:解释:最常见的Python代码文件后缀名,官方称Python源代码文件。用途:用于编写、存储和分发Python源代码。.ipynb:解释:Jupyter Notebook文件的扩展名,代表”IPython Notebook”。用途:常用于数据分析、机器学习和深度学习,支持代码、文本、图像和视频的混合格式。.pyi:解释:Python中的...

  • 于是,pyi文件出现了,pyi文件用于做类型检查,其中定义了接口参数的类型和返回值的类ing,但不能独立工作,需结合Pycharm等IDE的 TypeChecker 来工作,检查类型,这样就避免了Python语言层面的修改。还是直接上代码,在Pycharm中编写如下代码:这是一段很简单的代码,dir()函数是Python内置函数,用于获取ob...

  •  文暄生活科普 详解Python文件: .py、.ipynb、.pyi、.pyc、​.pyd !

    .py文件是Python默认的源代码文件,.ipynb用于编写交互式笔记,包括代码和文档,.pyi提供静态类型信息以提升开发效率,.pyc文件存储已编译的字节码,加快程序执行速度,.pyd文件是C或C++编写的Python扩展模块,可用于性能优化,.pyw文件创建无命令行界面的窗口化应用程序,.pyx则支持Cython语言,结合Python与C...

  •  文暄生活科普 详解Python文件: .py、.ipynb、.pyi、.pyc、​.pyd !

    .pyi文件是Python中的类型提示文件,用于提供代码的静态类型信息。一般用于帮助开发人员进行类型检查和静态分析。示例代码:.pyi文件的命名约定通常与相应的.py文件相同,以便它们可以被自动关联在一起。.pyc .pyc是Python字节码文件的扩展名,用于存储已编译的Python源代码的中间表示形式,因为是二进制文件所...

  •  翡希信息咨询 Python中的pyi文件浅析

    pyi文件是Python中用于类型注解的接口文件,旨在提供类型定义和工具,增强代码的可读性和可靠性。以下是关于pyi文件的详细解析:一、定义与作用 定义:pyi文件是根据PEP 484规范创建的,用于为Python模块提供类型信息的文件。 作用: 类型定义:为那些类型定义不明确的场景提供标准定义。 类型检查:与...

檬味博客在线解答立即免费咨询

Python相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部