python-模块与包
Posted summer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-模块与包相关的知识,希望对你有一定的参考价值。
一、模块
模块的本质:具有一定功能(代码)的py文件,或者是文件夹,就是你之前写的代码有功能的都可以叫模块
1、python模块的历史
python刚开始的时候,所有搞其他编程语言的的程序员都看不起,甚至给起了python器起了个外号叫:调包侠(贬义词)
随着时间的发展项目的复杂度,上面的那帮人也不得不用一下python然后发现真香定律:调包侠(褒义词)
2、python模块的表现形式
1、py文件(可以称模块文件)
2、具有多个py文件的文件夹
3、已被编译为共享库或DLL的C或C++扩展
4、使用C编写并链接到python解释器的内置模块
3、模块的分类:
1、自定义模块
我们自己写的模块文件
2、内置模块
python提供的模块
3、第三方模块
别人写的模块文件(python背后真正的大佬)
4、导入模块的两种句式:
"""
强调:
1、一定要搞清楚谁是执行文件,谁是被导入文件
2、以后开发项目的时候py文件的名称一般是纯英文,不会含有中文甚至空格
3、导入模块文件不需要填写后缀名只需要填写文件名就可以了
"""
1、import句式
以import a 为例研究底层原理
1、先产生执行文件的名称空间
2、执行被导入文件的代码将产生的名字放入被导入文件的名称空间中
3、在执行文件的名称空间中产生一个模块的名字
4、在执行文件中使用该模块名"点"的方式使用模块名称空间中所有的名字
2、from ... import...句式
以from a import name , func1 为例研究底层原理
1、先产生执行文件的名称空间
2、执行被导入文件的代码将产生的名字放入被导入文件的名称空间中
3、在执行文件的名称空间中产生对应的名字绑定模块名称空间中对应的名字
4、在执行文件中直接使用名字就可以访问名称空间中对应的名字
1、imprt 与 from ... import... 两者的优缺点
"""import句式
由于使用模块名称空间中的名字都需要模块点的方式才可以使用
所以不会轻易的被执行文件的名字替换掉
但是每次使用模块名称空间中的名字都必须使用模块名点才可以
from ... import...
指名点姓的导入模块名称空间中需要使用的名字,不需要模块名点
但是容易跟执行文件中名字冲突"""
2、重复导入模块
解释器只会导入一次,后续重复导入语句并不会执行
3、起别名
import 别名 as 模块名,可以通过as链接需要起的名字和模块名,来修改模块名
from 模块名 import 功能名 as 别名,可以通过as修改功能名
4、涉及到多个模块的导入
import a
import qqq
如果模块功能相似度不高可以推荐使用第一种,如果相似度高可以考虑使用第二种
import a , qqq
以上是关于python-模块与包的主要内容,如果未能解决你的问题,请参考以下文章