博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Day-23 基础模块4 模块导入_包
阅读量:5367 次
发布时间:2019-06-15

本文共 790 字,大约阅读时间需要 2 分钟。

一、认识模块

  模块可以认为是一个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

你可能感兴趣的文章
PIC单片机状态寄存器中的C(进位/借位位标志)
查看>>
UIViewController的生命周期(图解)
查看>>
Hadoop TaskTracker无法启动
查看>>
android.content.res.Resources$NotFoundException: String resource ID #0x11
查看>>
细品 - 梯度下降*
查看>>
【python cookbook】【数据结构与算法】13.通过公共键对字典列表排序
查看>>
Python之xml学习笔记
查看>>
[]转帖] 浅谈Linux下的五种I/O模型
查看>>
[转帖]Stack的三种含义
查看>>
第5条:了解切割序列的办法
查看>>
进程、会话、连接之间的差异
查看>>
《额尔古纳河右岸》读书笔记
查看>>
使用RMAN Active duplicate创建异地auxiliary Database
查看>>
self.location.href的具体用法(转)
查看>>
Linux桌面扩展 Docky
查看>>
position定位问题
查看>>
【首发】批处理命令大全
查看>>
URAL 2040 Palindromes and Super Abilities 2 (回文自动机)
查看>>
django之ORM数据库操作
查看>>
ajax补充FormData
查看>>