标签 迭代协议 下的文章

Python中的迭代协议


前言

Python的特色之一是基于协议实现功能。比如改变一个加号(+)的行为,在C++中需要操作符重载,在Python中则是重写__add__方法。为了描述可迭代对象和迭代器,Python提供了两个魔法方法,分别是__iter____next__。又为了支持for...in...行为,牵扯进了__getitem__

我们先从可迭代对象说起。