什么是pyi文件?在哪里可以看到pyi文件?
在Python的世界中,除了源码文件py、字节码文件pyc之外,还有类型指示文件pyi,扩展模块文件pyd和窗口文
件pyw等,以后会逐一介绍。今天,先来看看pyi文件,走你!
1、pyi文件定义
在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语言层面的修改。
2、pyi文件实例
还是直接上代码,在Pycharm中编写如下代码:
Demo代码
这是一段很简单的代码,dir()函数是Python内置函数,用于获取object的属性和方法。按住CTRL+鼠标左键查看
dir()函数定义,如下:
dir()函数定义
在builtins.py中可以看到dir()函数定义,参数和返回值都没有类型,且函数最左边有一个星_号,直接点击星_号即可
进入对应的builtins.pyi文件中
dir()函数对应的pyi文件
在builtins.pyi中可以看到dir()函数的定义中,参数和返回存在具体类型,并且最左边也有一个星号,点击星号
即可回到builtins.py文件中。
至此,我们可以看到要想使用pyi文件,只需要创建一个模块的同名pyi文件,将具备类型约束的函数声明写进去即
可,这样就能配合Pycharm的 TypeChecker,通过IDE来达到检查类型的目的了。
以上就是“Python中的pyi文件浅析”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。