python之路-day25-包

一、昨日内容回顾

  1、模块:模块就是一个py文件。模块实际上使我们py文件运行后的名称空间

  2、导入模块的动作

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

   2) 开辟一个内存

   3) 在该内存中运行py文件

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

      如果你的py文件是启动文件,名字是__main__

      程序的入口一般是:

      if __name__ == "__main__":

        pass

  3、import

    import 模块名

    模块名.属性/方法/类

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

    模块.属性 = 值  # 不要这样干,会改变原来的值

  4、from xxx import xxx

    from 模块 import  函数/变量

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

    from xxx import *  导入所有

    导入的内容都可以起别名  as

 

 

 

二、今日内容回顾

  1、包

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

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

    if 条件:

      语句块

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

  2、相对导入和绝对导入

    相对导入:相对于当前的模块所在的包。使用时必须在包外面启动(相对导入不能跨包导入)

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

    总结:全部都依赖于 sys.path

  3、使用包要注意的东西

    尽量在包外面启动程序

    from xxx.xxx.xx import xxx    from什么点什么再点什么,都可以;但是在import后面不能再点了

 

      

    

posted @ 2018-11-20 17:53  wenjie^_^  阅读(131)  评论(0编辑  收藏  举报