库 是预先写好 的可复用代码 ,能帮助开发者提升 效率。 荀子"善假于物"的思想正体现了利用工具的重要性。
一门编程语言能否流行,既 取决于语法是否简单,也 取决于生态(即库的丰富程度)是否完备。
按来源 ,库分为标准库(语言自带,可直接使用)和第三方库(需额外安装,任何人都可以开发并发布供他人使用)。
1.标准库--import
Python 自身内置了非常丰富的库
官方文档:https://docs.python.org/3.10/library/index.html


使用 import 导入模块 (单独的**.py** 文件)到当前文件 中,并执行其中的代码。
1.1 日期计算

datetime 这个模块里面恰好有个同名的 datetime 类


1.2 文件查找工具
在包含大量目录和文件的文件系统中,想找到某个特定文件需要递归查找 :从根目录开始,遇到子目录 就进入继续查找,直到遍历完所有层级。
os.walk 是 Python 内置的目录遍历工具,自动完成递归遍历 ,无需手写递归代码。只需一个简单的for 循环 ,就能遍历指定路径下的所有目录和文件。

用户输入 待搜索路径 和待搜索关键词 ,程序在该路径下递归查找文件名中包含关键词的文件,并打印其完整路径。

2.第三方库--pip
第三方库是别人写好、可直接拿来用的代码,扩展 了标准库之外的功能。
可以通过百度、搜狗、Bing 等搜索引擎查找合适的库 ;确定用哪个库后,用 pip 命令安装。
2.1 pip介绍
pip 就是Python 的"应用商店",能直接从PyPI 网站 下载并安装 你想要的库,由 Python 官方维护,像"应用商店的服务器 ",专门收集各种第三方库。
https://pypi.org/
https://pypi.org/
安装 Python 时会自动装上pip ,可以直接 在命令行使用,无需额外安装。


如果提示 :'pip' 不是内部或外部命令,也不是可运行的程序 或批处理文件;则需要 手动把 pip 所在的路径加入到 PATH 环境变量 中,或卸载重装Python,记得勾上上述选项。
https://www.jianshu.com/p/1de0acf7185d
2.2 pip使用
使用 pip install [库名] 命令, 即可安装第三方库。
这个命令需要从网络上下载, 使用时要保证网络畅通 ;安装成功后, 即可使用 import导入相关模块, 即可进行使用。

2.3 生成二维码

(1)通过搜索引擎, 确定使用哪个库。

(2)在PyPI 网站 上搜索 qrcode ,查看 qrcode 文档,获取pip命令。
https://pypi.org/【官方文档更准确】

文档开头描述了如何安装 qrcode

页面中央位置描述了 qrcode 库的使用方法

导入 qrcode 模块;调用 qrcode.make() 函数,把任意字符串 转换成一个二维码图片对象 img;查看 img 的生成类型;
调用图像对象的 save 方法,将二维码保存为图片文件 some_file.png,也可以放在其他路径下。
**(3)**安装第三方库 : pip install qrcode[pil]

(4)编写代码

2.4 操作 excel
求 100 班的同学的平均分 D:/test.xlsx

读取 excel 可以使用xlrd 模块https://xlrd.readthedocs.io/en/latest/
https://xlrd.readthedocs.io/en/latest/
修改 excel 可以使用 xlwt模块https://xlwt.readthedocs.io/en/latest/
https://xlwt.readthedocs.io/en/latest/
此处以xlrd为例,演示 excel 的基本操作。
**(1)**安装第三方库 xlrd
pip install xlrd==1.2.0
此处要指定版本号 安装,如果不指定版本号,则安装最新版,但最新版里删除了对 xlsx 格式文件的支持。

(2)编写代码


2.5 操作音频文件
监听键盘按键 , 每按键20 下, 就自动播放一个音频。
(1)安装第三方库
pynput 用于监听键盘按键 ,注意版本不要 用最新;playsound 用于播放音频。
pip install pynput==1.6.8
pip install playsound==1.2.2

(2)准备音频文件:yuai.mp3
此处准备了雨爱的mp3 ,放到和 py 代码同级目录中。

也可以直接复制粘贴 到python中,放在文件夹里也可以,在代码中加上路径 'xx/yuai.mp3' 即可。
(3)编写代码


函数介绍

若想随机播放多个音频 ,创建列表,设置随机数即可。

python
import random
from pynput import keyboard
from playsound import playsound
mp3List = ['mp3/baby.mp3', 'mp3/yuai.mp3',
'mp3/LoveYourself.mp3']
count = 0 #记录用户按键盘次数
def onRelease(key):
print(key)
global count #引入全局变量
count += 1
#每按10次按键,播放音频
if count % 10 == 0:
#生成0-2的随机整数
i = random.randint(0, len(mp3List)-1)
playsound(mp3List[i])
# 创建好Listener后,用户在键盘按键的动作就被会捕获到
# 希望在捕获后执行一段代码,在前面定义函数
listener = keyboard.Listener(on_release=onRelease)
listener.start()
listener.join()
(4)改进代码
上述代码在执行过程中,会感觉到播放音频 会导致按键卡顿 ,可以使用多线程解决这个问题。


3.字符串例题
字符串 是 Python 的内置类型, 字符串的很多方法不需要导入额外的模块, 即可直接使用。
3.1 翻转单词顺序
https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/description/
3.2 旋转字符串
https://leetcode.cn/problems/rotate-string/description/
3.3 统计是给定字符串前缀的字符串数目
https://leetcode.cn/problems/count-prefixes-of-a-given-string/description/
4.学生管理系统

5.扩展
awesome-python 整理了 Python 的一些非常实用的程序库。
https://gitee.com/awesome-lib/awesome-python
500 Lines or Less 使用简短 的 Python 代码来实现一些有意思的程序。