“ 往期回顾:在前篇文章中,我们学习了函数、模块与面向对象编程。如果你还没看,记得去主页补课哦!
本期重点:今天我们来掌握Python的文件操作、异常处理与日期时间。”
📁 第七部分:文件操作 (File Operations)
让程序与外界交互! 文件操作是数据持久化的基础,读取配置、保存结果、处理日志都离不开它。掌握with语句,让文件操作更安全!
4️⃣8️⃣ 打开文件
f = open("test.txt", "r")
4️⃣9️⃣ 文件模式
"r":只读"w":写入"a":追加"b":二进制
5️⃣0️ 读取文件
content = f.read()line = f.readline()lines = f.readlines()
5️⃣1️⃣ 写入文件
5️⃣2️⃣ 关闭文件
5️⃣3️ with 语句
withopen("test.txt", "r") as f: content = f.read()
5️⃣4️⃣ 文件指针
5️⃣5️⃣ 删除文件
import osos.remove("test.txt")
5️⃣6️⃣ 检查文件存在
os.path.exists("test.txt")
5️⃣7️⃣ 获取文件大小
os.path.getsize("test.txt")
5️⃣8️⃣ 二进制读取
withopen("image.png", "rb") as f: data = f.read()
⚠️ 第八部分:异常处理 (Exception Handling)
让程序更健壮! 程序总会出错,异常处理能让你的代码优雅地应对错误,而不是直接崩溃。生产环境代码的必备技能,用户友好度的关键!
5️⃣9️⃣ try-except
try: x = 1 / 0except ZeroDivisionError: print("错误")
6️⃣0️⃣ 多个异常
except (ValueError, TypeError): pass
6️⃣1️ 捕获所有异常
except Exception as e: print(e)
6️⃣2️⃣ else 子句
6️⃣3️⃣ finally 子句
6️⃣4️⃣ raise
6️⃣5️⃣ 自定义异常
class MyError(Exception): pass
6️⃣6️⃣ assert
📅 第九部分:日期时间 (Date & Time)
时间管理大师! 处理日志、定时任务、数据时间戳都离不开datetime模块。学会日期格式化,让你的程序能理解和操作时间!
6️⃣7️⃣ 导入模块
from datetime import datetime, date, timedelta
now = datetime.now()today = date.today()
datetime.strptime("2024-01-01", "%Y-%m-%d")
tomorrow = today + timedelta(days=1)
timestamp = datetime.now().timestamp()
🔍 第十部分:正则表达式 (Regular Expressions)
文本处理的瑞士军刀! 正则表达式能高效匹配、搜索、替换文本模式。学一次用终身,爬虫、数据清洗、表单验证都离不开它!
7️⃣4️ 导入模块
re.match(r"\d+", "123abc")
re.search(r"\d+", "abc123")
re.findall(r"\d+", "a1b2c3")
re.sub(r"\d", "*", "a1b2c3")
7️⃣9️⃣ 常用模式
\d:数字\w:字母数字\s:空白*:0次或多次+:1次或多次
8️⃣0️ 分组
🔄 第十一部分:迭代器与生成器 (Iterators & Generators)
内存优化神器! 处理大数据时,生成器可以按需产生数据,避免一次性加载所有数据到内存。百万级数据处理必备,性能提升关键!
it = iter([1, 2, 3])next(it)
def count(): for i in range(5): yield i
g = (x**2 for x in range(5))
不修改代码增强功能! 装饰器是Python最优雅的特性之一,可以在不改变原函数的情况下添加新功能。框架源码必备知识,进阶高手标志!
8️⃣6️⃣ 基础装饰器
@decoratordef func(): pass
@repeat(3)def greet(): print("Hi")
8️⃣8️⃣ 内置装饰器
@staticmethod@classmethod@property
🧩 第十三部分:常用内置函数 (Built-in Functions)
Python自带的工具箱! 这些内置函数能解决80%的常见需求,熟练掌握能让你的代码更简洁、更高效。每天用,天天见,必须记住!
8️⃣9️⃣ len()
list(range(5)) # [0, 1, 2, 3, 4]
9️⃣1️⃣ enumerate()
for i, v in enumerate(["a", "b"]): print(i, v)
9️⃣2️⃣ zip()
for a, b in zip([1, 2], ["x", "y"]): print(a, b)
9️⃣3️⃣ map()
list(map(lambda x: x**2, [1, 2, 3]))
list(filter(lambda x: x > 0, [-1, 0, 1]))
sorted([3, 1, 2]) # [1, 2, 3]
any([False, True]) # Trueall([True, True]) # True
isinstance(5, int) # True
🎉 完结撒花!
恭喜!你已经掌握了100个Python核心语法知识点!
📚 学习建议