• python--5、包


    包,即一个包含__init__.py文件的文件夹,创建包的目的也就是为了用文件夹将文件(模块)组织起来。
    python3中,即使包里没有__init__.py文件,仍能import使用。而python2中包下一定得有__init__.py才能用。
     创建包的目的不是为了运行,而是被导入使用。包只是模块的一种形式,包的本质就是模块(文件夹形式)。
    随着功能模块越来越多,就要用文件夹将模块文件组织起来,以提高程序的结构性和可维护性。

    导入原则:凡是在导入时带点的,点的左边都必须是一个包,否则非法。可以带有一连串的点。导入后使用时点左边可以是包、模块、函数、类。

    import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件

    可以在__init__.py里导入里层包的函数,以简化调用。

    需要注意的是from后import导入的模块,必须是import后不能带点。若import后为* 是想从包api中导入所有,实际上该语句只会导入包api下__init__.py文件中定义的名字,我们可以在这个文件中定义__all___。

    绝对导入和相对导入

    • 绝对导入:以最顶级包为起始。
    • 相对导入:用.或者..的方式最为起始

    包以及包所包含的模块都是用来被导入的,而不是被直接执行的。而环境变量都是以执行文件为准的,同级目录下的模块,相互调用时不能用Import module_name。

  • 相关阅读:
    Java入门3.2---线程池
    Java入门3.1---多线程
    打开ppt报"powerpoint无法加载mathtype加载项"错误
    LATEX排版总结
    casbin 权限系统
    Go netpoll I/O 多路复用构建原生网络模型之源码深度解析
    使用winsw包装服务将nginx包装为Windows服务
    Node.js 的模块系统
    一文读懂 babel7 的配置文件加载逻辑
    vue-cli是什么?和 webpack是什么关系?
  • 原文地址:https://www.cnblogs.com/jinyudong/p/7703600.html
Copyright © 2020-2023  润新知