奇姬女仆第3卷,苏小玎的个人资料,北京晚报阴三儿
将一些常用的功能封装到一个文件中,那么这个存储着很多常用的功能的py文件,就是模块。 模块就是文件,存放一堆常用的函数。模块,就是一些常用功能的集合体。
文件化管理 , 提高了可读性 ,避免重复代码
拿来就用(避免重复造轮子), python中类库特别多
python语言中,模块分为三类。
也叫做标准库。此类模块就是python解释器给你提供的,比如我们之前见过的time模块,os模块。标准库的模块非常多(200多个,每个模块又有很多功能),我们这几天就讲常用的十几种,后面课程中还会陆续的讲到。
有人叫做第三方库。一些python大神写的非常好用的模块,必须通过pip install 指令安装的模块,比如beautfulsoup, django,等等。大概有6000多个。
我们自己在项目中定义的一些模块。
import 翻译过来是一个导入的意思。
import test # 导入 拿test工具箱 import test # 导入 拿test工具箱 import test # 导入 拿test工具箱 重复导入会直接引用内存中已经加载好的结果
def t1(): print("高级工程师") import test test.t1() test.t2() print(test.tt) import test # 只能将整个工具箱拿来 a = test.t1 b = test.t2 a() b() import test as t # 工具箱名字过长可以起别名 t.t1() import test # 导入模块不能加后缀名 (在pycharm中飘红不代表报错)
from test import t1 as t # 从test工具箱中将t1这个工具拿过来 def t1(): print("高级工程师") t1() t()
from 和 import 推荐使用from
只有py文件当作模块被导入时,字节码才会进行保留
python中引用模块是按照一定的规则以及顺序去寻找的,这个查询顺序为:先从内存中已经加载的模块进行寻找找不到再从内置模块中寻找,内置模块如果也没有,最后去sys.path中路径包含的模块中寻找。它只会按照这个顺序从这些指定的地方去寻找,如果最终都没有找到,那么就会报错。
内存中已经加载的模块->内置模块->sys.path路径中包含的模块
<1> 在第一次导入某个模块时,会先检查该模块是否已经被加载到内存中(当前执行文件的名称空间对应的内存),如果有则直接引用(ps:python解释器在启动时会自动加载一些模块到内存中,可以使用sys.modules查看)
<2> 如果没有,解释器则会查找同名的内置模块
<3> 如果还没有找到就从sys.path给出的目录列表中依次寻找文件。
需要特别注意的是:自定义的模块名不应该与系统内置模块重名。
import abcd abcd.func()
import test,c,abcd 不建议这样导入 test.t1() print(c.ac) abcd.func() import test import c import abcd # 建议这样导入 #多行导入:易于阅读 易于编辑 易于搜索 易于维护。 import from from test import * # 拿整个工具箱 t1() t2() print(tt)
__all__=['name','read1'] #这样在另外一个文件中用from spam import *就只能导入列表中规定的两个名字
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
python求numpy中array按列非零元素的平均值案例
网友评论