1. Python核心概念深度解析:迭代器、生成器、装饰器与闭包
在Python开发中,迭代器、生成器、装饰器和闭包是四个极其重要的高级特性。它们不仅能提升代码效率,还能让程序更加优雅和Pythonic。作为有多年Python开发经验的工程师,我发现很多开发者对这些概念的理解停留在表面,导致无法充分发挥它们的威力。本文将带你深入理解这些概念的本质、应用场景和实战技巧。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 迭代器:数据遍历的幕后英雄
2.1 迭代器基础概念
迭代器是Python中用于遍历集合元素的工具。想象你有一本书,迭代器就像是一个书签,它能帮你记住当前读到哪一页,并且知道如何翻到下一页。
python复制nums = [1, 2, 3]
iter_nums = iter(nums)
print(next(iter_nums)) # 输出1
print(next(iter_nums)) # 输出2
print(next(iter_nums)) # 输出3
这段代码展示了迭代器的基本用法。iter()函数获取列表的迭代器,next()函数逐个获取元素。当没有更多元素时,会抛出StopIteration异常。
2.2 自定义迭代器实现
在实际项目中,我们经常需要自定义迭代器。比如开发一个学生管理系统时,我们希望直接遍历所有学生信息:
python复制class StudentSystem:
def __init__(self):
self.students = []
self.index = 0
def add_student(self, name, age):
self.students.append({"name": name, "age": age})
def __iter__(self):
return self
def __next__(self):
if self.index < len(self.students):
student = self.students[self.index]
self.index += 1
return student
raise StopIteration
# 使用示例
system = StudentSystem()
system.add_student("Alice", 20)
system.add_student("Bob", 21)
for student in system:
print(f"{student['name']}: {student['age']}")
