人工智能之编程进阶 Python高级
第十章 知识点总结
@
目录
- 人工智能之编程进阶 Python高级
- 前言
- 🐍 Python 重要知识点全景图(从基础到网络编程)
- 一、基础语法与内置类型
- 1. 变量与动态类型
- 2. 核心内置类型
- 3. 容器类型(重点!)
- ✅ 列表
list- ✅ 元组
tuple- ✅ 字典
dict- ✅ 集合
set- 二、控制结构与函数
- 1. 条件与循环
- 2. 函数定义
- 高级特性:
- 三、面向对象编程(OOP)
- 1. 类与实例
- 2. 继承与多态
- 3. 特殊方法(魔术方法)
- 四、模块与包管理
- 1. 模块导入
- 2. 包结构
- 3. 虚拟环境(必会!)
- 五、文件与异常处理
- 1. 文件读写
- 2. 异常处理
- 六、高级特性(提升代码质量)
- 1. 列表推导式 / 生成器表达式
- 2. 装饰器(Decorator)
- 3. 上下文管理器(Context Manager)
- 七、并发与并行(见前文,此处简述)
- 八、网络编程与数据获取(核心!)
- 1. 底层通信:
socket- 2. HTTP 客户端
- 3. 动态页面处理:
selenium- 4. HTML 解析:
BeautifulSoup- 5. 专业爬虫框架:
Scrapy- 九、常用标准库与第三方库速查
- 十、最佳实践与避坑指南
- ✅ 推荐做法
- ❌ 常见错误
- 十一、学习路径建议
- 总结:Python 技术栈全景
- 资料关注
前言
学到这里基本上掌握了python的常用操作,但这些还未涉及到数据分析的部分,这些都只是对于语言的灵活运用,至于数据分析,将在后续栏目增加,一起努力学习,未来方向充满不确定,我们能做的就是不断学习,跟随政策,拥抱人工智能,打好地基,方能不被脱节。
🐍 Python 重要知识点全景图(从基础到网络编程)
目标:掌握 Python 从变量到爬虫的完整技术栈
结构:由浅入深,层层递进,每部分含核心概念 + 示例 + 注意事项
一、基础语法与内置类型
1. 变量与动态类型
- Python 是 动态类型语言:变量无需声明类型,类型在运行时确定。
x = 10 # int
x = "hello" # str(合法!)
- 变量本质是对象引用:
a = [1,2]; b = a→a和b指向同一列表。
2. 核心内置类型
| 类型 | 特点 | 示例 |
|---|---|---|
int,float,complex |
数值类型 | 3,3.14,1+2j |
str |
不可变 Unicode 字符串 | "你好",f"Hello {name}" |
bool |
布尔值(True/False) |
bool(0) → False |
NoneType |
空值(单例) | x = None |
3. 容器类型(重点!)
✅ 列表 list
- 有序、可变、允许重复
lst = [1, 2, 3]
lst.append(4)
lst[0] = 10
✅ 元组 tuple
- 有序、不可变、可哈希(可用作 dict key)
t = (1, 2, 3)
t = 1, 2, 3 # 省略括号
✅ 字典 dict
- 无序(Python 3.7+ 插入有序)、键值对、键必须可哈希
d = {"name": "Alice", "age": 30}
d["city"] = "Beijing"
for k, v in d.items(): ...
✅ 集合 set
- 无序、不重复、可变
s = {1, 2, 3}
s.add(4)
s1 & s2 # 交集
💡 关键区别:
listvstuple:是否可变dictvsset:是否有 value
二、控制结构与函数
1. 条件与循环
# if-elif-else
if x > 0:print("positive")
elif x == 0:print("zero")
else:print("negative")# for 循环(迭代器协议)
for i in range(5):print(i)# while
while n > 0:n -= 1
2. 函数定义
def greet(name: str, age: int = 18) -> str:"""文档字符串"""return f"Hello {name}, you are {age}"# 调用
greet("Alice") # 位置参数
greet(age=20, name="Bob") # 关键字参数
高级特性:
- 默认参数(注意 mutable 默认值陷阱!)
- 可变参数:
*args(元组)、**kwargs(字典) - 作用域:LEGB 规则(Local → Enclosing → Global → Built-in)
三、面向对象编程(OOP)
1. 类与实例
class Person:species = "Homo sapiens" # 类属性def __init__(self, name):self.name = name # 实例属性def say_hello(self):return f"Hi, I'm {self.name}"p = Person("Alice")
print(p.say_hello())
2. 继承与多态
class Student(Person):def __init__(self, name, student_id):super().__init__(name)self.id = student_iddef say_hello(self): # 方法重写return f"Student: {self.name}"
3. 特殊方法(魔术方法)
__str__:用户友好字符串__repr__:开发者调试字符串__len__、__getitem__:使对象支持len()、obj[key]
四、模块与包管理
1. 模块导入
import os
from math import sqrt
from datetime import datetime as dt
2. 包结构
mypackage/__init__.py # 标识为包(Python 3.3+ 可省略)module1.pysubpackage/__init__.pymodule2.py
3. 虚拟环境(必会!)
python -m venv myenv # 创建
source myenv/bin/activate # Linux/macOS
myenv\Scripts\activate # Windows
pip install requests # 安装到虚拟环境
五、文件与异常处理
1. 文件读写
# 推荐使用 with(自动关闭)
with open('data.txt', 'r', encoding='utf-8') as f:content = f.read()with open('output.txt', 'w') as f:f.write("Hello")
2. 异常处理
try:x = int(input("Enter number: "))
except ValueError:print("Invalid input!")
else:print("Success")
finally:print("Always run")
✅ 最佳实践:不要裸写
except:,应捕获具体异常。
六、高级特性(提升代码质量)
1. 列表推导式 / 生成器表达式
# 列表推导
squares = [x**2 for x in range(10) if x % 2 == 0]# 生成器(节省内存)
gen = (x**2 for x in range(10))
2. 装饰器(Decorator)
def timer(func):def wrapper(*args, **kwargs):start = time.time()result = func(*args, **kwargs)print(f"{func.__name__} took {time.time()-start}s")return resultreturn wrapper@timer
def slow_func():time.sleep(1)
3. 上下文管理器(Context Manager)
class MyFile:def __enter__(self):print("Opening file")return selfdef __exit__(self, exc_type, exc_val, exc_tb):print("Closing file")with MyFile() as f:pass
七、并发与并行(见前文,此处简述)
| 模型 | 模块 | 适用场景 |
|---|---|---|
| 多线程 | threading |
I/O 密集(网络、磁盘) |
| 异步 I/O | asyncio |
高并发 I/O(Web 服务) |
| 多进程 | multiprocessing |
CPU 密集(计算) |
| 子进程 | subprocess |
调用外部程序 |
⚠️ 记住:Python 有 GIL,多线程不能并行 CPU
八、网络编程与数据获取(核心!)
1. 底层通信:socket
- TCP/UDP 编程
- 适合自定义协议
2. HTTP 客户端
| 工具 | 特点 |
|---|---|
urllib |
标准库,功能全但繁琐 |
requests |
第三方,简洁强大,首选 |
import requests
resp = requests.get("https://api.example.com/data")
data = resp.json()
3. 动态页面处理:selenium
- 控制真实浏览器
- 执行 JavaScript、处理登录、滑块验证等
4. HTML 解析:BeautifulSoup
- 提取结构化数据
- 支持 CSS 选择器、XPath(需 lxml)
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
titles = soup.select('h2.title')
5. 专业爬虫框架:Scrapy
- 组件化:Spider、Item、Pipeline、Middleware
- 内置去重、并发、中间件、导出格式(JSON/CSV)
九、常用标准库与第三方库速查
| 类别 | 标准库 | 第三方库 |
|---|---|---|
| 时间 | datetime,time |
arrow,pendulum |
| JSON | json |
— |
| 正则 | re |
— |
| 日志 | logging |
— |
| 单元测试 | unittest,doctest |
pytest |
| Web 开发 | http.server |
Flask,Django,FastAPI |
| 数据分析 | — | pandas,numpy |
| 网络请求 | urllib,http.client |
requests,aiohttp |
| 爬虫 | — | BeautifulSoup,Scrapy,selenium |
十、最佳实践与避坑指南
✅ 推荐做法
- 使用类型提示(Python 3.5+):
def add(a: int, b: int) -> int:return a + b - 虚拟环境隔离依赖
- 用
pathlib替代os.path(更面向对象) - 用
logging替代print做日志 - 用
with管理资源(文件、锁、连接)
❌ 常见错误
- 可变对象作为函数默认参数:
def f(x=[])→ 改为x=None - 在循环中拼接字符串:改用
''.join(list) - 忽略编码问题:始终指定
encoding='utf-8' - 在生产环境关闭 SSL 验证:
verify=False(危险!)
十一、学习路径建议
- 基础:变量、控制流、函数、文件
- 进阶:OOP、异常、模块、装饰器
- 实用技能:
requests + BeautifulSoup(静态爬虫)selenium(动态爬虫)asyncio(异步编程)Scrapy(工程化爬虫)
- 扩展:
- Web 框架(Flask/FastAPI)
- 数据库(SQLAlchemy / PyMongo)
- 部署(Docker, Gunicorn)
总结:Python 技术栈全景
基础语法 → 函数/OOP → 文件/异常 → 模块/包↓
并发模型(threading/asyncio/multiprocessing)↓
网络编程(socket → urllib → requests)↓
网页解析(BeautifulSoup / lxml)↓
动态渲染(selenium)↓
工程化爬虫(Scrapy)↓
数据存储(MySQL/MongoDB) + Web服务(FastAPI)
💡 核心思想:
Python 的优势在于 “胶水语言” + 丰富生态。
不必精通所有细节,但要清楚 每个工具的定位与边界,按需组合,高效解决问题。
这份总结涵盖了从零基础到网络数据获取的完整知识链,建议收藏并结合实践反复巩固。掌握这些,你已具备 Python 中高级开发能力!🚀
资料关注
公众号:咚咚王

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen) 》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》