序
什么是包
包是指内部包含_init_.py
的文件夹
包的作用
存放模块,包可以更好的管理模块
一、什么是模块
模块是一系列功能的结合体,相当于模块包着一堆函数与代码
- 模块的本质是一个个
.py
文件
二、模块的三种来源
- python内置的模块(python解释器的)
- 比如:sys/timeos urtle
- 第三方的模块(别人写的)
- 比如:request
- 自定义模块(自己写的)
- 比如:自己定义的demo.py文件
三、模块的四种表现形式
- 使用python编写的py文件(了解)
- 编译后的共享库DLL或者C或者C++库(了解)
- 包下面带有
_init_.py
的一组文件
- py_demo
-_init_.py
- demo.py
- demo2.py
- python解释器下的py文件
- python解释器下的文件夹
- 一个个的py文件
四、为什么要使用模块
- 比如:sys/timeos urtle
- 比如:request
- 比如:自己定义的demo.py文件
- 使用python编写的py文件(了解)
- 编译后的共享库DLL或者C或者C++库(了解)
- 包下面带有
_init_.py
的一组文件
- py_demo
-_init_.py
- demo.py
- demo2.py
- python解释器下的py文件
- python解释器下的文件夹
- 一个个的py文件
四、为什么要使用模块
模块可以帮我们更好的管理功能代码,比如:函数...
可以将项目拆分成一个个的功能,分别存放在不同的py文件(模块)中
五、 如何创建,编写模块,并使用模块
- 鼠标右键创建py文件
- 在py文件编写python代码
- 在一个文件中,通过import关键字导入模块
- import 模块名
- 注意:import 模块时,模块不能加.py后缀
- 在使用模块阶段,必须要注意,谁是执行文件,谁是被导入文件
- 模块在首次导入时,就已经固定好了,当前文件查找的顺序是从内存中查找
- 模块在导入时发生的事情:
- 会先执行当前执行文件,并产生执行文件中的名称空间
- 当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间
- 会将被导入模块的名称空间加载到内存中
5.1 给模块起别名
- 在py文件编写python代码
- import 模块名
- 注意:import 模块时,模块不能加.py后缀
- 会先执行当前执行文件,并产生执行文件中的名称空间
- 当执行到导入模块的代码时,被导入的模块会产生一个模块的名称空间
- 会将被导入模块的名称空间加载到内存中
import 模块 as 模块的别名
5.2 模块的导入方式
- import 模块
- 在执行文件中直接import导入
- from 包/模块 import 模块/(函数名、变量名、类名)
- 在执行文件中直接import导入
5.3 循环导入问题
- 需要查找的名字放在导入模块的上方
- 在函数内部导入,将模块变成函数名称空间中的名字