1、昨日内容回顾函数
一、模块:模块就是一个py文件。模块实际上使咱们py文件运行后的名称空间spa
二、导入模块的动做内存
1) 判断sys.modules中是否已经导入过该模块it
2) 开辟一个内存import
3) 在该内存中运行py文件变量
4) 给这个内存起个名字,通常用的是py文件的名字。返回给导入方module
若是你的py文件是启动文件,名字是__main__程序
程序的入口通常是:方法
if __name__ == "__main__":im
pass
三、import
import 模块名
模块名.属性/方法/类
每一个模块都有本身独立的名称空间,每一个都有一个global,互相不影响
模块.属性 = 值 # 不要这样干,会改变原来的值
四、from xxx import xxx
from 模块 import 函数/变量
当作本身的变量或者函数来使用
from xxx import * 导入全部
导入的内容均可以起别名 as
2、今日内容回顾
一、包
包就是一个文件夹。 py2中包内必须有一个__init__.py 文件,在py3中能够省略,可是最好保留
__init__.py 当咱们导入一个包的时候,默认执行这个包内的__init__.py
if 条件:
语句块
一条语句 > 语句 > 代码块(函数,类) > py文件(模块) > 包
二、相对导入和绝对导入
相对导入:相对于当前的模块所在的包。使用时必须在包外面启动(相对导入不能跨包导入)
绝对导入:根据包的根目录去导入内容
总结:所有都依赖于 sys.path
三、使用包要注意的东西
尽可能在包外面启动程序
from xxx.xxx.xx import xxx from什么点什么再点什么,均可以;可是在import后面不能再点了