发布于 2019-11-27 09:16:45
_posixsubprocess
您所引用的文件是用C编写的Python模块,它不是“存根”文件。真正的实现可以在Modules/_posixsubprocess.c
的stdlib中找到。您可以通过查看构建C和C++扩展来了解编写C/C++扩展的方式。这将帮助您理解_posixsubprocess.c
中的代码。
为了将类型提示添加到该文件(它是用C编写的“扩展模块”),类型提示被添加到扩展名为.pyi
的“存根”文件中。
该文件可以在打好的中找到,它是存根文件的集合。类型化还包含第三方模块的存根,这是历史遗留下来的。自从佩普-561被采用以来,这已经不再需要了。
关于存根/pyi文件
存根文件包含普通Python模块的类型提示信息。完整的官方文档可以找到在PEP-484中有关存根文件的部分中。。
例如,如果您有这样一个Python模块mymodule.py
:
def myfunction(name):
return "Hello " + name
然后可以通过存根文件mymodule.pyi
添加类型提示。注意这里省略号(...
)是语法的一部分,所以下面的代码块实际上显示了完整的文件内容:
def myfunction(name: str) -> str: ...
它们看起来非常类似于C头文件,因为它们只包含函数签名,但它们的使用纯粹是可选的。
您还可以在.py
模块中直接添加类型提示,如下所示:
def myfunction(name: str) -> str:
return "Hello " + name
但是,在某些情况下,您希望将它们单独保存在存根中:
# type: ...
注释语法https://stackoverflow.com/questions/59051631
复制相似问题