当前位置:  开发笔记 > 编程语言 > 正文

"i"在Python .pyi扩展名中表示什么?

如何解决《"i"在Python.pyi扩展名中表示什么?》经验,为你挑选了2个好方法。

在Python中,"i"在.pyi扩展名中表示什么?

在PEP-484中,它提到.pyi是"存根文件",但没有关于扩展的助记符帮助.那么"我"的意思是"包括"吗?"实施"?"接口"?



1> Kruupös..:

我认为iin .pyi代表"接口"

Java中接口的定义:

Java编程语言中的接口是一种抽象类型,用于指定类必须实现的行为

从Python 类型化的 github存储库:

每个Python模块都由.pyi"stub"表示.这是一个普通的Python文件(即,它可以由Python 3解释),除了所有方法都是空的.

在'Mypy'存储库中,他们明确地将"存根"文件称为公共接口:

存根文件仅包含模块的公共接口的描述,而不进行任何实现.

因为Python中不存在"接口"(参见抽象类和接口之间的这个问题)我认为设计者打算为它专门设置一个特殊的扩展.

pyi实现"存根"文件(Martin Fowler的定义)

存根:为测试期间进行的调用提供固定答案,通常不会对测试中编程的任何内容做出任何响应.

但人们比"存根"文件更熟悉接口,因此更容易选择.pyi而不是.pys避免不必要的混淆.



2> Ribo..:

显然,PyCharm创建.pyi文件是出于其自身的目的:

* .pyi文件被PyCharm和其他开发工具用来提供更多信息,例如PEP 484类型提示,而无法从扩展类型和方法的自省中收集信息。除向工具提供信息外,不得将其导入,执行或用于任何其他目的。如果您不使用使用.pyi文件的工具,则可以放心地忽略此文件。

参见:https : //www.python.org/dev/peps/pep-0484/ https://www.jetbrains.com/help/pycharm/2016.1/type-hinting-in-pycharm.html

在以下位置找到此评论: python27/Lib/site-packages/wx/core.pyi

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有