Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Pythonクロージャ:ネストされた関数内で状態を保持する | Pythonにおける変数スコープの理解
Pythonにおける関数型プログラミングの概念

bookPythonクロージャ:ネストされた関数内で状態を保持する

メニューを表示するにはスワイプしてください

Pythonのクロージャは、内側の関数が外側の関数の内部にラップされているときに発生し、外側スコープの値を参照します。これはグローバル変数の使用を回避するのに役立ちます。

クロージャは、いくつかのメソッドだけを使いたいが、クラス全体を作成するほどではない場合に便利です。シンプルでクリーンな構造を保つのに役立ちます。しかし、多くのメソッドや属性を管理する必要がある場合は、クラスを使用する方が適しています。

いくつかの例を見て、これをさらに理解しましょう。

12345678910111213
def calculate_income(percent): def annual_income(amount): return amount * percent / 100 return annual_income # function returned by outer function interest_rate_3 = calculate_income(3) # function assigned to the variable interest_rate_7 = calculate_income(7) print(interest_rate_3(1500)) print(interest_rate_3(2000)) print(interest_rate_7(1500)) print(interest_rate_7(2000))
copy

この関数は、現金預金の年間収入を計算します。クロージャの機能により、特定のパーセンテージ値を持つ関数を変数に格納し、何度も再利用することが可能です。

まとめると、クロージャを使うことで、外側のスコープから値を「記憶」する関数を作成・返却でき、特定のパラメータに基づいた事前定義された動作を持つ専用関数の作成に特に有用です。

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  6

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  6
some-alt