作用:
调用其他python文件里的代码 功能 可以更灵活的实现 使用 添加各种效果
变量 == 存储一个/多个数据
函数 == 存储一句/多句代码
模块 == 我全都要
当我们导入一个模块后 就可以使用这个模块里的所有代码:里面的变量 里面的函数
什么是模块?
模块:就是一个Python文件
当python文件作为一个模块的时候 不加.py的后缀才是模块名(text.py–模块名 text)
python自带的 不需要下载 直接使用
time 时间模块
random 随机数
由其他开发技术人员开发 需要下载 才可以使用
pygame 游戏开发
requests 爬虫
pip – Python自带的下载器
install – 下载
uninstall – 卸载
注意:pip 没有设置Python环境变量的话 那么这个配置就是找不到 所以下载Python的时候要记得勾选配置环境变量
python默认下载库就是使用pip 如果Python环境没有配置好 pip就使用不了
语法:
pip install 模块名
pip install requests
pycharm下载模块 (首先选中cmd下载 其次在pycharm下载)
settings – projoct – + – install
(有时候pc下载会在虚拟环境中 不会在你的Python环境里 重新创建项目文件夹的话就不会访问到里面)
(在cmd里面下载全部都是下载到自己python环境中 这样不管如何创建新的目录都能访问到)
pip uninstall 模块名
pip uninstall requests
有时候pip的版本太低 新的库升级不了
python -m pip install --upgrade pip
下载第三方模块:
pip install 库名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pywin32 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip list
模块使用流程:
1.导入模块
2.使用模块
导入模块:
import 模块名
import time
使用模块:
print(模块名.变量名) # 输出模块里的变量
单个导入
from 模块 import 函数名
from 模块 import 变量名
优点: 避免不必要的内存资源开销 减少代码量
缺点: 可能会出现同名覆盖的情况
当模块名过长不好记 可以通过as 给他取个名字
as: 取别名
import 模块名 as 别名
import win32process as pro
from time import sleep as T
print('还有10s')
T(10)
print('导入成功')
1.命名规范
①如果py文件是作为启动程序 那么命名比较宽松 ②如果py文件是作为模块来使用 最好采用全小写+下划线
user_login # 用户登录模块
user_register # 用户注册模块
2.导入规范
不推荐一行导入多个模块
例:import time, win32api, win32con # 不推荐
荐:
import win32con
import win32api
import win32gui
3.导入顺序规范 中间空行
1.首先导入内置模块
2.然后导入第三方模块
3.最后导入自定义模块
import time
import sys
import win32gui
import win32api
import demo
Python中有个__name__方法 他能够获取.py的文件执行模块
如果是以程序身份执行,__ name__为__main__
如果是以模块身份执行,__name__为模块名
一个python文件,他的name为main 那他就是作为启动程序
if name == ‘main’:
代码块 # 里面的内容只有文件是以启动程序运行时才会运行
在pc里输入main按下回车/tab键会自动生成
print(__file__) # 获取文件所在位置
# example.py
def hello():
print('Hello from the module!')
# 判断是否作为程序运行
if __name__ == '__main__':
print('This file is being run as a program.')
hello()
print(__file__) # 获取文件所在位置
当你直接运行 example.py 文件时,if __ name__ == ‘main’: 下面的代码块会被执行,因为此时 __ name__ 的值为 ‘__ main__’。而当你在另一个 Python 文件中导入 example.py 作为模块时,if __ name__ == ‘__ main__’: 下面的代码块不会被执行。
这种方式可以让你在同一个文件中既可以定义模块中的函数、类等内容,又可以编写一些在该文件作为程序运行时才执行的代码。
包的本质就是模块
模块 – 文件
包 – 文件夹
把一些功能相同的模块 放到同一个文件夹里 进行统一管理 文件夹里有个配置文件__init__.py
一个文件夹中 有个叫__init__.py
pc中 -- 右键项目文件夹 -- new -- Python package
把一些功能相同/类似模块放到同一个文件夹里 并且这个文件夹有个叫__init__.py
在导入这个包里的模块时,init代码会自动执行
可以利用这个机制把init当成一个配置文件/使用说明
包: 将功能模块放在一个文件夹里 将不同功能的模块进行分组管理
跨文件夹导入模块的操作
from 文件夹名 import 模块名
单个导入功能
from 文件夹名.模块名 import 函数名
from 文件夹名.模块名 import 变量名
一般情况下我们的程序是直接运行完毕 得到结果 我们看到的是结果 过程看不到
断点就是可以设置一个起点 从起点开始 让程序一步步执行 让我们可以看到里面的数据 运行的实时情况 并进行对应调试
def main():
for i in range(1, 6):
print(f"当前数字是:{i}")
if i == 3:
breakpoint() # 在 i 等于 3 时设置断点
print("循环结束")
if __name__ == "__main__":
main()