模块简介及导入模块的方式与查找顺序
作者:互联网
-
目录
-
索引取值与迭代取值
-
模块简介
-
模块导入
-
模块查找顺序
-
判断文件类型
-
-
索引取值与迭代取值
1.索引取值
优点:可以反复获取任意位置的数据
缺点:必须是有序的数据类型才可以采用索引取值
2.迭代取值
优点:可以对有序或无序的数据类型进行取值
缺点:取值开始只能从开始到结束取值不能反复获取任意位置的数据
3.没有明确的谁好谁坏,按不同情况使用不同方式
-
模块简介
1.概念:拥有一些列功能的结合体,使用模块就等同于使用所拥有的所以功能
2.分类
2.1 内置模块:编辑器自带的,提前设置好的可以直接使用的
import time time.sleep(3) print('你好呀')
2.2 自定义模块:自己写自己使用
2.3 第三方模块:别人编写好的,可以通过网络下载使用的
3.表现形式
3.1 py文件也称为模块文件
3.2 多个py文件按照功能划分存放在不同的文件夹中
3.3 已被编译成共享库或DLL或C或C++扩展
3.4 使用C编写并链接到python解释器的内置模块
-
模块导入
1.模块导入方式
1.1 import语句:可以将执行模块中名称空间的所有代码储存的名字引用到被导入文件的名称空间中,通过执行模块名加点的方式使用所有数据
1.1.1 优点:执行时使用模块名加点的方式,所以不会出现命名重复
1.1.2 缺点:存在多个成员
import function02 print(function02.name) # kevin function02.func() # 我拥有强大的功能
1.2 from.....import......语句:可以将模块名字的指定代码储存的名字引用到被导入文件的名称空间中,然后使用名字就可以使用对应的数据
1.2.1 优点:成员使用简单
1.2.2 缺点:出现命名重复不易发现
from function02 import func func() # 我拥有强大的功能
2. 模块导入补充
2.1 重命名:多个模块模块名相同(多人写)或原有模块名复杂
格式 : from 模块名 import 成员名 as 别名
2.2 导入多个模块文件:模块功能相似可一次导入,没有关系的尽量分别导入
格式:import 模块名1,模块名2,模块名3
import 模块名1
import 模块名2
import 模块名3
2.3 导入同一模块文件中的多个名字(同一模块,推荐使用)
格式:from 模块名 import 名字1,名字2,名字3
2.4 当必须使用from.....import....语句导入模块文件中所有名字(全导入)
格式:from 模块名 import * # * 表示所有 可通过__all__控制导入的名字数量
from function02 import * print(name) # kevin func() # 我拥有强大的功能
3. 循环导入
3.1 概念:模块文件互相导入彼此
3.2 存在的问题及解决办法:互相导入容易出现报错,所以可以在彼此导入之前准备好彼此所需名字,尽可能不使用循环导入
1.name1 = 'kevin' def username(): print(name1) import function02 function02.func() # jason kevin jason 2.name2 = 'jason' def func(): print(name2) import function03 function03.username() # kevin jason kevin
-
模块的查找顺序
1.先从内存中查找
1.1 导入一个文件,在导入过程中删除,还可以使用(存在于内存中),再次将无法使用,内存数据也已删除
2.去内置中查找
2.1 创建模块时尽量不要使用和内置模块名相同的名字
import time time.name # AttributeError: module 'time' has no attribute 'name'
3.在sys.path中查找(程序系统环境变量):必须分清谁是执行文件,所有的路径都是参照执行文件来的
3.1 sys返回的是一个列表,里面存在多个文件路径,但第一位的一定是执行文件所在的文件路径
import sys print(sys.path ) # ['D:\\code\\python\\day22', 'D:\\code\\python\\day22',]
-
判断文件类型
1.所有的py文件都自带有__name__内置名,作用是开发作者主要用来测试自己的代码,在pycharm中可以直接输入main按tap键补全
1.1 当文件时执行文件时__name__的结果是__main__
1.2 当文件时被导入文件时__name__的结果是模块名
标签:__,文件,导入,查找,模块,import,取值 来源: https://www.cnblogs.com/040714zq/p/16474723.html