[解決済み] クロージャ(Pythonの場合)について教えてください。
2023-02-22 12:04:51
質問
クロージャについていろいろ読んできて、自分では理解しているつもりですが、自分自身や他の人のために絵を曇らせることなく、誰かができるだけ簡潔かつ明確にクロージャを説明してくれることを期待しています。 私は、どこで、なぜそれを使いたいのかを理解するのに役立つような、簡単な説明を探しています。
どのように解決するのですか?
オブジェクトはデータでメソッド クロージャは関数に です。
def make_counter():
i = 0
def counter(): # counter() is a closure
nonlocal i
i += 1
return i
return counter
c1 = make_counter()
c2 = make_counter()
print (c1(), c1(), c2(), c2())
# -> 1 2 1 2
関連
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonスクリプトのプロファイリングはどのように行うのですか?
-
[解決済み] 誰かPythonで__all__を説明してくれませんか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】ilocとlocはどう違うのですか?
-
[解決済み】ミュータブルステートなしで何か役に立つことができるのか?
-
[解決済み】なぜpythonのネストされた関数はクロージャと呼ばれないのですか?
-
[解決済み] Spyderを仮想環境で動作させるには?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Pythonです。未束縛のメソッドを束縛する?
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonの辞書にあるスレッドセーフについて