Python 自身内置了非常丰富的库.
在 Python 官方文档上可以看到这些库的内容.
简单来说, 主要是这些部分:
标准库

我们不需要把这些库的内容都背下来, 只要大概知道里面有啥, 需要用的时候能够找到即可.
使用 import 可以导入标准库的一个 模块
import [模块名]
所谓 “模块” , 其实就是一个单独的 .py 文件.
使用 import 语句可以把这个外部的 .py 文件导入到当前 .py 文件中, 并执行其中的代码.
代码示例: 日期计算
输入任意的两个日期, 计算两个日期之间隔了多少天.

第三方库就是别人已经实现好了的库, 我们可以拿过来直接使用.
虽然标准库已经很强大了, 但是终究是有限的. 而第三方库可以视为是集合了全世界 Python 程序猿的智
慧, 可以说是几乎无穷无尽.
问题来了, 当我们遇到一个需求场景的时候, 如何知道, 该使用哪个第三方库呢?
就需要用到下面几个网站了:

当我们确定了该使用哪个第三方库之后, 就可以使用 pip 来安装第三方库了.
pip 是 Python 内置的 包管理器.
所谓 包管理器 就类似于我们平时使用的手机 app 应用商店一样.
第三方库有很多, 是不同的人, 不同的组织实现的. 为了方便大家整理, Python 官方提供了一个网站
PyPI https://pypi.org/, 来收集第三方库.
其他大佬写好的第三方库也会申请上传到 PyPI 上.
这个时候就可以方便的使用 pip 工具来下载 PyPI 上的库了
pip 在我们安装 Python 的时候就已经内置了. 无需额外安装.
pip 是一个可执行程序, 就在 Python 的安装目录中.
打开 cmd, 直接输入 pip. 如果显示以下帮助信息, 说明 pip 已经准备就绪.

如果最开始按照要求在安装 Python 的时候勾选了

那么 pip 就是默认可用的.
如果提示
‘pip’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
则说明没有正确的把 pip 加入到 PATH 中, 可以手动把 pip 所在的路径加入到 PATH 环境变量中
使用以下命令, 即可安装第三方库
pip install [库名]
注意: 这个命令需要从网络上下载, 使用时要保证网络畅通.
安装成功后, 即可使用 import 导入相关模块, 即可进行使用
注意: 如果使用 pip 安装完第三方库之后, 在 PyCharm 中仍然提示找不到对应的模块, 则检查 Settings ->Project -> Python Interpreter , 看当前 Python 解释器设置的是否正确. (如果一个机器上安装了多个版本的 Python, 容易出现这种情况).
(1) 通过搜索引擎, 确定使用哪个库

得到情报, qrcode 这个库, 可以用来生成二维码.
(2) 查看 qrcode 文档

点击则进入 qrcode 的详情页.
文档开头描述了如何安装 qrcode

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

import qrcode
img = qrcode.make('nihao')
img.save('qrcode.png')

使用微信或者其他工具扫码, 即可看到二维码内容.
所谓二维码, 本质上就是使用黑白点阵表示一个字符串.
我们日常使用的二维码内部一般是一个 URL, 扫码后会自动跳转到对应的地址, 从而打开一个网页
读取 excel 可以使用 xlrd 模块. 文档地址: https://xlrd.readthedocs.io/en/latest/
修改 excel 可以使用 xlwt 模块. 文档地址: https://xlwt.readthedocs.io/en/latest/
此处以 xlrd 为例, 演示 excel 的基本操作

求 1 班的同学的平均分.
虽然 excel 自身支持很强大的功能, 也可以求和, 求平均值. 但是如果是稍微复杂的需求, 操作起来可能就没那么方便了.
安装 xlrd
pip install xlrd==1.2.0
注意: 此处要指定版本号安装. 如果不指定版本号, 则安装最新版. 最新版里删除了对 xlsx 格式文件的支持.
import xlrd
# 打开xlsx文件
xlsx = xlrd.open_workbook('E:/程序人生/Python/excel/工作簿1.xlsx')
# 获取指定的标签页
table = xlsx.sheet_by_index(0)
# 获取到表格中有多少行
nrows = table.nrows
# 进行循环遍历,跳过表头
total = 0
cnt = 0
for i in range(1, nrows):
classID = table.cell_value(i, 1)
if classID == 1:
total += table.cell_value(i, 2)
cnt += 1
print(f'分数:{total / cnt}')

需求说明
实现一个命令行版本的学生管理系统
功能:
创建入口函数
import sys
# 定义一个学生列表
students = []
def menu():
print('|---------------------------|')
print('|----1-增加学生信息-----------|')
print('|----2-删除学生信息-----------|')
print('|----3-查找学生信息-----------|')
print('|----4-显示学生信息-----------|')
print('|----0-退出------------------|')
choice = int(input('请输入你的选择:'))
return choice
def insert():
print('[新增学生开始]')
studentID = int(input('请输入学生的学号'))
name = input('请输入学生的姓名')
gender = input('请输入学生的性别')
if gender not in ('男', '女'):
print('性别不符合要求,新增失败')
return
classID = int(input('请输入学生的班级'))
student = {
'studentID':studentID,
'name': name,
'gender': gender,
'classID': classID
}
global students
students.append(student)
print('新增成功!')
def delete():
classID = int(input('请输入你要删除学生的学号:'))
for s in students:
if s['studentID'] == classID:
print('删除学生: ', end=' ')
print(f"学号:{s['studentID']}, 姓名:{s['name']}, 性别:{s['gender']}, 班级:{s['classID']}")
students.remove(s)
print('删除学生成功!')
return
print('删除学生失败!没有这个学生')
def show():
global students
for s in students:
print(f"学号:{s['studentID']}, 姓名:{s['name']}, 性别:{s['gender']}, 班级:{s['classID']}")
def find():
classID = int(input('请输入你要查找学生的学号:'))
for s in students:
if s['studentID'] == classID:
print('查找成功!')
print(f"学号:{s['studentID']}, 姓名:{s['name']}, 性别:{s['gender']}, 班级:{s['classID']}")
return
print('查找失败,没有这个人!')
def main():
print('|----------------------------|')
print('|----欢迎来到学生成绩管理系统----|')
print('|----------------------------|')
while True:
res = menu()
if res == 0:
sys.exit()
elif res == 1:
insert()
elif res == 2:
delete()
elif res == 3:
find()
elif res == 4:
show()
else:
print('你的输入有误!请重新输入:')
main()