realpython / realpython/python-guide
Tip on the "Late Binding Closures" section
オープン
まだ誰も着手していません。
- 主要言語
- Batchfile
- スター
- 29.8k
- フォーク
- 5.9k
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
The two solutions in "What You Should Do Instead" are certainly correct, while there's another solution in that special case, one can simply change
return [lambda x : i * x for i in range(5)]
to
return (lambda x : i * x for i in range(5))
in other words, one can create a generator, rather than a list, to postpone the time when cell contents be evaluated. Actually, a more essential test code could be
for multiplier in create_multipliers():
print multiplier.__closure__[0].cell_contents
FYI.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
"Late Binding Closures" セクション、特に "What You Should Do Instead" を読み、提案されているジェネレーターの例を既存の説明と比較してください。提供されている create_multipliers() ループを実行して、closure の動作を検証してください。完了条件は、ドキュメントが有効な代替案を正確に示し、それを裏付ける明確な例を含んでいることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- documentation
- issue の種類
- ドキュメント
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100