関数のネスト
if文と同じように、関数の中にも別の関数を定義することができます。この内側の関数(内部関数)は、外側の関数が呼び出されたときにだけその場で作られ、外側の関数が持つ変数をそのまま参照できるという特徴があります。
💡 ヒント:この仕組みは「クロージャ」と呼ばれ、状態を内部に保持したような関数を作りたいときに応用されます。今はまず「関数の中に関数を書ける」ということだけ知っておけば十分です。
if文と同じように、関数の中にも別の関数を定義することができます。この内側の関数(内部関数)は、外側の関数が呼び出されたときにだけその場で作られ、外側の関数が持つ変数をそのまま参照できるという特徴があります。
def outer():
message = 'こんにちは'
def inner():
print(message)
inner()
outer()練習問題:outer関数内でnum = 10を定義し、内部関数でnumを2倍して表示する処理を作ってください。
def outer():
num = 10
def inner():
print(num * 2)
inner()
outer()