您的位置:首页 > 娱乐 > 明星 > gm互联网推广平台_网页制作实战视频_网站制作设计_百度网盘客服电话

gm互联网推广平台_网页制作实战视频_网站制作设计_百度网盘客服电话

2025/2/28 19:09:37 来源:https://blog.csdn.net/weixin_73953650/article/details/145912612  浏览:    关键词:gm互联网推广平台_网页制作实战视频_网站制作设计_百度网盘客服电话
gm互联网推广平台_网页制作实战视频_网站制作设计_百度网盘客服电话

        在我们查看别人的项目的时候,我们经常可以看到__init__.py这个py脚本,它存在于Python包的每个目录中,标示着该目录是一个Python包。这个文件可以为空,但它的存在有其特殊的意义。

        总的来说,__init__.py文件扮演着初始化Python包的重要角色,其主要作用有以下几个

初始化python package

        当一个目录下包含__init__.py文件时,Python会将该目录视为一个包。这个文件不仅可以用来组织代码结构,还可以用来执行包的初始化代码,或者定义当从包中导入模块时自动执行的代码。

        比如,这里我们有一个名为mymodule的文件夹,其内部有一个名为module的py脚本。

当我们想要从mymodule文件夹中module.py作为模块使用其内部的一些函数时,在代码中便可以这样写

from mymodule import module
module.print_something('你好')

        倘若我们使用setupTools将项目上传给pypi时(上传项目给pypi时需要上传的是一个文件夹,具体上传流程可查看往期文章:Python开发之手把手教你上传项目至PyPi(保姆级教程)-CSDN博客),我们的文件夹内没有__init__.py的话, 那么setupTools内的find_packages()函数将无法找到你要上传的文件夹,进而返回空值。

__init__.py存在时

 __init_.py存在时find_packages()函数可以找到pywechat这个文件夹,并把他看做一个package

 __init__.py不存在时

__init__.py不存在时,find_packages()函数无法找到pywechat这个文件夹,无法把它看做一个package

导入包内模块

依然以pywechat这个模块为例,当用户想要调用pywechat内的WechatAuto内的Messages类或某个函数时需要:

from pywechat.WechatAuto import Messages
from pywechat.WechatAuto import get_chat_historyget_chat_history()
Messages.send_messages_to_friend()

这样的导入可能有点太麻烦,我们只需要在__init__.py中这样写:

 那么我们在调用时便可以直接从pywechat这个文件夹内导入函数或类,这时我们导入的所有类或函数都来自于__init__.py,由于我们在__init__.py里边已经导入过Messages类与get_chat_history函数,所以我们可以直接导入函数或类。

包的元数据信息

        当我们在__init__.py中使用''' '''多行注释写了一些信息后,这些信息将被pylance(python解释器)当做该package文件夹下的help文档,当我们导入这个package后,对这个模块使用help函数后pylance便会将这些信息进行整理并格式化输出

pywechat __init__.py内的内容

import pywechat
print(help(pywechat))

     

输出结果 

       总之, _init__.py文件是Python包开发中不可或缺的一部分,它帮助开发者初始化包,组织代码结构并提供包的元数据信息。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com