Day-23 基础模块4 模块导入_包

一、认识模块

  模块可以认为是一个py文件,模块实际上是我们的py文件运行后的名称空间

  导入模块:

    1.判断sys.modules中是否已经导入过该模块

    2.开辟一个内存

    3.在这个内存中执行该py文件

    4.给这个内存起个名字,一般用的是py文件的名字。返回给导入方

      如果你的py文件是启动文件,“__name__”的结果是__main__,否则结果则是文件名

      程序的入口一般是:

        if __name__ == "__main__":

          pass

二、import 

    import 模块名

    模块名.属性/方法/类

  每个模块都有自己的独立的名称空间,每个都有一个global,互相并不影响

  模块.属性 = 值    #不要这么干

  

三、from xxx import xxx

  from 模块 import 函数/变量

  当作自己的变量或者函数来使用

  

  from xxx import * 导入所有

  导入的内容可以起别名  as

四、包

  包就是一个文件夹,py2中包内必须有一个__init__.py文件,在python3中可以省略,但是最好都保留。

  __init__.py当我们导入一个包的时候,默认执行这个包内的__init__.py

  一条语句 > 语句块 > 代码块(函数、类) > py文件(模块) > 包

五、相对导入和绝对导入

  相对导入:相对于当前模块所在的包,使用的时候必须在包外面启动

  绝对导入:根据包的根目录去导入内容

  总得来说就是全都依赖于 sys.path

  注意:尽量在包的外面启动程序。

原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10723089.html