Python函数与类的深入解析
1. 生成器的特性
生成器在Python中是一种特殊的迭代器。当你第一次迭代生成器时,它可能会被完全耗尽。例如:
fib = fibonacci(7)
print(list(fib)) # 输出: [0, 1, 1, 2, 3, 5, 8]
print(list(fib)) # 输出: []
这种行为一开始可能会让人感到困惑,但在很多情况下是合理的。生成器常用于事先不知道整个序列,或者序列在迭代过程中可能会发生变化的场景。比如,你可以使用生成器来迭代当前访问系统的用户。一旦识别出所有用户,生成器就会失效,你需要创建一个新的生成器来刷新用户列表。
2. Lambda函数
在Python中,函数不仅可以独立使用,还可以为其他功能提供额外的小功能。例如,在对列表进行排序时,你可以提供一个函数来指定排序的规则。
def get_price(house):
return house.price
houses.sort(key=get_price)
不过,这样做似乎有点浪费函数的能力,而且需要额外的代码行和一个在 sort() 方法调用之外不会使用的名称。更好的方法是直接在方法调用中指定关键函数,这就是Python的lambda形式发挥作用的地方。
houses.sort(key=lambda h
超级会员免费看
订阅专栏 解锁全文
1566

被折叠的 条评论
为什么被折叠?



