• 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

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

  • 相关阅读:
    那些年搞不懂的多线程、同步异步及阻塞和非阻塞(一)---多线程简介
    java中IO流详细解释
    Java IO流学习总结
    MySQL数据库中索引的数据结构是什么?(B树和B+树的区别)
    使用Redis存储Nginx+Tomcat负载均衡集群的Session
    Redis 3.2.4集群搭建
    JDK1.8源码分析之HashMap
    java HashMap和LinkedHashMap区别
    Java中原子类的实现
    多线程-传统定时任务
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10723089.html
Copyright © 2020-2023  润新知