タグ "__iter__" を含むブログ一覧 投稿一覧へ戻る

【Python 雑談・雑学 + coding challenge】iterator protocol の実装 --- __iter__ 特殊関数は何を返すべき? イテレータオブジェクト ( iterator object ) なら何でも、そう、generator expression でもOKです!

Tags: generator , iterable , iterator , __iter__ , miscellaneous , challenge , __next__ , stopiteration , python

Published 2020年8月13日17:06 by T.Tsuyoshi

さて、今回もちょっとしたコーディングチャレンジ ( coding challenge ) から。 問題 ( 制限時間: 25 分 ): 2 つの引数 (シーケンスと数値) を取るイテラブルクラス ( iterable class ) を定義します。 このクラスのオブジェクトは、「数値」の回数だけ「シーケンス」の要素を順番に返します。 もし「数値」が「シーケ…

Python Cookbook [Delegating Iteration : 独自クラスへのイテレーション機能の実装]

Tags: iterable , iterator , __iter__ , python , cookbook

Published 2020年5月1日19:41 by T.Tsuyoshi

Problem: list や tuple といったイテラブルを属性値として含む独自のコンテナクラスがある場合に、そのクラス自体でイテレーション機能を提供したい。 Solution: クラス内で __iter__() メソッドを定義し、実態として、内部で保持するコンテナのイテレーターに動作をお任せするだけです、楽チンです。 class Topping: def …