python中的模块与包(python模块和包的关系)

网友投稿 273 2022-08-28


python中的模块与包(python模块和包的关系)

欢迎关注”生信修炼手册”!

在python中,代码有以下两种组织形式

module, 模块package,包

与perl语言不同,一个python脚本就是一个模块,而包则是多个模块组成的功能完善的整体。对于一个package而言,其文件结构示意如下

wes/ __init__.py quality_control/ __init__.py fastp.py cutadapt.py mapping/ __init__.py bwa.py bowtie.py snp_calling/ __init__.py gatk.py samtools.py

最外层是包的名称,内层的文件夹下是不同的子模块,为了区分普通的文件路径和python包,在每一层文件夹下都必须有一个名称为__init__.py文件,该文件用于定义模块初始化的一些属性,如果没有特殊要求,该文件内容为空即可。

模块到包的变化,只需要遵守特定的文件结构即可,而普通的python脚本作为一个模块来使用,则有一些注意事项。

模块从形式上看和普通的python脚本是一样的,也是由常量,函数,类,方法等定义构成,唯一不同的是,其函数执行的代码,需要防止在特定的地方。

模块在第一次导入时,会自动执行主程序中的内容,通常情况下,我们只需要使用模块中定义的方法,而不希望在导入模块时,就去执行其中的代码。通过__name__属性。可以实现模块导入时其主程序中的代码不执行,而单独运行该模块时,又可以执行主程序中的代码。实现的方式如下

if __name__ == '__main__': print('模块单独运行')else: print('模块被导入')

当__name属性的值为__main__时,说明该模块作为一个脚本在单独运行,相反的,当值不为__main__时,说明该模块被导入,通过这个if判断,将对应的代码放置在不同的分支中,就可以将两种情况下需要执行的代码区分开,这也是为何python脚本推荐写成上述标准格式的原因。

·end·

—如果喜欢,快分享给你的朋友们吧—

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python中的命名空间和变量作用域(浅谈Python类命名空间)
下一篇:Java不借助第三变量实现两数交换的示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~