8.1 模块的概念
8.1.1 模块的概念介绍
一个包含python代码的文件就是一个模块。
使用模块的作用:
1.现在程序开发文件比较大,都放在一个文件中维护不方便,拆分成多个文件方便维护 与管理
2.模块可以增加代码的重用率
8.1.2 创建模块
模块本身就是一个文件,所有py代码都可以在文件中直接书写。不过我们开发共用模块时,最好在模块中书写以下内容。
变量 模块中的属性值
函数 单独的功能
类 相似功能组合
模块测试代码 临时使用,被导入时不会执行
注意:
(1) .模块名称遵循标识符。
(2) .模块只有第一次被导入的时候执行,多次导入不会执行。
例:one_model.py是一个简单的模块,这个模块的功能就是打招呼。
8.2 模块导入的原理
8.2.1 原理介绍
- 模块导入会将要导入的文件执行一遍
- 导入模块的名称就是我们定义的脚本或包的名称
- 我们导入模块的过程总结就是:在指定的范围内搜索指定名称的python脚本或者包,将其运行, 获取其中的方法
8.3 模块的导入方式
1**、import** 模块名
2**、import** 模块名 as 别名
3**、import** 模块名1**,模块名2,…** 一行导入多个模块。
4**、from … import …**
5**、from … import … as** 别名
6**、from … import** 功能1**,功能2,…**
7**、from … import *** 导入所有
8.3.1 import 模块名
作用:直接导入模块
直接导入模块
import time
print(time.timezone) # 模块名.变量名 timezone时区
print(time.asctime()) # 模块名.函数名 时间元组变成字符串
8.3.2 import 模块 as 别名
如果模块的名称太长,我们可以这个模块起一个别名。
8.3.3 一行导入多个模块(不推荐)
推荐: 每一个import导入一个模块
Import sys
Import os
8.3.4 from … import …局部导入方式
当使用模块中的部分功能的时候,就可以使用局部导入方式。
from 模块 import 某个函数或者类。
作用:直接导入模块中的某个函数或者某个类或变量
8.3.6.支持导入多行
8.3.5 .from … import … as 别名
当导入的模块和当前模块中的名称相同的时候可以起别名进行区分。
from my_module import read1 as read
8.3.7 from 模块 import *
from my_module import * 把my_module中所有的不是以下划线(_)开头的名字都导入到当前位置,大部分情况下我们的python程序不应该使用这种导入方式,因为*你不知道你导入什么名字,很有可能会覆盖掉你之前已经定义的名字。而且可读性极其的差。
作用:直接导入模块中的所有方法和类和变量
(1) . all 属性
all = [变量1,变量2 …] 设置导入模块的功能。
all=[‘money’,‘read1’]
#这样在另外一个文件中用from my_module import *就这能导入列表中规定的两个名字