当前位置 : 主页 > 编程语言 > python >

python中的模块与包

来源:互联网 收集:自由互联 发布时间:2022-06-24
欢迎关注”生信修炼手册”! 在python中,代码有以下两种组织形式 module,模块 package,包 与perl语言不同,一个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·

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



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


    python中的模块与包_数据分析

    一个只分享干货的

    生信公众号



    上一篇:python中的命名空间和变量作用域
    下一篇:没有了
    网友评论