zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    BZOJ3483 : SGU505 Prefixes and suffixes(询问在线版)
    BZOJ3067 : Hyperdrome
    BZOJ3461 : Jry的时间表
    BZOJ3024 : [Balkan2012]balls
    BZOJ1111 : [POI2007]四进制的天平Wag
    BZOJ1107 : [POI2007]驾驶考试egz
    BZOJ1109 : [POI2007]堆积木Klo
    BZOJ4158 : [POI2007]Railway
    BZOJ1110 : [POI2007]砝码Odw
    BZOJ1105 : [POI2007]石头花园SKA
  • 原文地址:https://www.cnblogs.com/minusone/p/9988881.html
Copyright © 2011-2022 走看看