Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ ネスト関数 | 変数スコープ、ネスト関数、クロージャ
Pythonにおける関数型プログラミングの概念

bookネスト関数

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

コードの可読性、カプセル化、再利用性を高めるために、関数の中に別の関数を定義することができます。これをネストされた関数と呼びます。Pythonでは、関数定義の本体内に別の関数定義を書くことでネストされた関数を作成します。これにより、外部からアクセスできない補助的なロジックを隠したり、その場で特化した関数を生成したりすることが可能です。

ネストされた関数の構文は簡単で、def文を他のdefの本体内に配置するだけです。内側の関数は外側の関数の変数にアクセスできるため、外側の関数の引数に依存するカスタマイズされた動作や補助的な計算を作成するのに便利です。

ネストされた関数の実用的な使い方として、外側の関数のパラメータでカスタマイズされた関数を返すことが挙げられます。これは関数型プログラミングで特化した関数を生成したり、グローバルスコープを汚さずにロジックをカプセル化したりする際によく利用されます。

1234567891011
def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
copy

1. なぜ関数の中に別の関数を定義するのでしょうか?

2. 囲み関数で定義された変数のスコープは何ですか?

question mark

なぜ関数の中に別の関数を定義するのでしょうか?

正しい答えを選んでください

question mark

囲み関数で定義された変数のスコープは何ですか?

正しい答えを選んでください

すべて明確でしたか?

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

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

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

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

セクション 3.  3
some-alt