模块简介
1.模块就是一系列的功能结合体,使用模块相当于拥有了模块内一系列功能
------------
2.模块分类
- 内置模块 :解释器自带的,可以直接使用的模块
eg:
import time
time.sleep()
- 自定义模块 : 自己写的模块
eg:
注册功能 ,登录功能
- 第三方模块 :别人写好的放在网络上的模块 使用需要提前下载
------------
3.模块的表现形式
1.py文件(py文件也可以称之为是模块文件)
2.含有多个py文件的文件夹(按照模块功能的不同划分不同的文件夹存储)
3.已被编译为共享库或DLL的c或C++扩展
4.使用C编写并链接到python解释器的内置模块
导入模块的两种句式
1.import 句式
import md
print(md.name)
- 模块导入会产生执行文件的名称空间
假设import md的文件名是a
导入动作会令a产生一个全局名称空间
- 产生被导入文件的名称空间并运行该文件
相当于a文件的名称空间是md文件的名称空间内容
可以在a名称空间里用点的方式执行md文件里的所有代码
- 在执行文件中获取一个模块的名字 ,并通过点的方式使用到被导入文件名称空间的名字
print(md.name)
***同一个文件反复导入相同的模块,导入的句式只会执行一次
import md
import md 无效
import md 无效
import 可支持一次导入多个模块
eg :有两种方式
import time , md, a,等等
import time
import md
import a
------------
2.from...import句式
from md import name
from md import pwd
print(pwd)
import后面是指名道姓的从md文件中导入某个具体名称
-创建执行文件的名称空间
导入模块动作会创建from的名称空间
-创建被导入文件的名称空间
运行导入模块会产生被导入文件的名称空间
-执行被导入文件中的代码 将产生的名字存储到被导入文件的名称空间中
-在执行文件中获取到指定的名字 指向被导入文件的名称空间
from md import name,pwd,a...
*全导入模式
from md import *
用于需要导入模块空间名字比较多的时候
s:针对*号的导入还可以控制名字的数量
在模块文件中可以使用__all__ = [字符串的名字]控制*能够获取的名字
两种句式的优缺点
1.import
优点:用md.点的方式可以任意执行被导入的文件里的代码
缺点:就是导入就可以用到被导入文件里的所有内容也不是绝对的优点,有时候可能也不想让操作者拥有这么多权限
------------
2.from ...import
优点:指定变量名的使用方式 不需要加模块文件名的前缀
缺点:变量名及其容易产生冲突
eg:
from md import name
print(name)
from md import name
name = 'jason'
print(name)
模块的查找顺序
1.先在内存中查找
2.再在内置中查找
3.然后再去程序系统环境变量中查找sys.path
------------
1.导入一个文件,然后再导入的过程中删除该文件,结果是还能执行该文件代码
import time
import md
time.sleep(6)
print(md.name)
------------
2.创建一个跟内置模块名相同的文件名
from time import name
print(name)
ps:创建模块文件的时候尽量不要与内置模块名冲突
------------
3.所有的操作都是按照文件路径来的
import sys
sys.path.append(r'D:\pythonProject7.13')
import summer
print(summer.name)
from summer import name
print(name)
ps:1.通用的方式
sys.path.append(目标文件所在的路径)
2.利用from...import句式
起始位置一定是执行文件所在的路径文件夹
from xxx import mdd
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现