-
什么是模块
模块就是文件,里面包含一些存在与文件中的相同函数,是一个集合体
-
为什么要用模块
- 节省代码
- 容易维护,组织结构简单
-
模块的分类
- 内置模块 python解释器自带的,time,os,sys,等等.200多种.
- 第三方模块 各种大神写的一些模块,通过pip install....安装.6000种.
- 自定义模块
-
import
4.1 import的使用(只是第一次引用时,将此模块加载到内存.)
4.2 第一次导入模块执行的三件事
-
1. 将tbjx.py文件加载到内存. 2. 在内存中创建一个以tbjx命名的名称空间. 3. 通过tbjx名称空间的名字.等方式引用此模块的名字(变量,函数名,类名等等).
4.3 被导入模块有独立的名称空间
坑:通过tbjx.的方式引用此模块的名字时,一定一定是从此模块中寻找. 通过import 引用模块 他有自己的独立名称空间,与当前执行文件没有关系.
4.4 为模块起别名
- 好处: 1. 好处可以将很长的模块名改成很短,方便使用. 2. 有利于代码的扩展和优化。
4.5 导入多个模块
- import os,sys,json
- 优点:多行导入:易于阅读 易于编辑 易于搜索 易于维护。
-
-
from...import...
5.1from...import...的使用
5.2from...import...与import
- 执行文件有与模块同名的变量或者函数名,会有覆盖效果。
- 当前位置直接使用read1和read2就好了,执行时,仍然以tbjx.py文件全局名称空间
5.3 也支持as
通过这种方式引用模块也可以对模块进行改名
from tbjx import read1 as read read()
5.4 一行导入多个
from tbjx import read1,read2,name
5.5 from ...import *
from ... import * 尽量别单独用 # from tbjx import * # print(name) # read1() # read2() # 1,全部将tbjx的所有名字复制过来,无用功. # 2,容易覆盖. # from ... import * 与__all__配合使用(写在模块文件中) # from tbjx import * # # read1() # # read2() # change()
-
py文件的两种功能
6.1py 文件的第一个功能:执行文件(承载代码) 脚本.直接打印
__name__
返回__main__
6.2 py文件的第二个功能: 模块(被执行文件).
直接打印
__name__
返回tbjx
模块名
作用:用来控制.py文件在不同的应用场景下执行不同的逻辑(或者是在模块文件中测试代码)
-
模块的搜索路径