2023.12.29 関数内関数
関数内で関数を宣言することができる。
code:inner_function1.py
def outer():
print('This is outer function')
def inner():
print('This is inner function')
inner()
outer()
結果
code:result.txt
This is outer function
This is innter function
このように、関数内で宣言した関数のことを関数内関数(innter function)という。
Pythonでは関数を変数に代入することができる。
code:inner_function2.py
def outer():
def inner():
print('This is inner function')
return inner # 関数内関数を返す
func = outer()
func()
関数outerの戻り値に、関数内関数innterを返すよう修正。
関数outerを呼び出すことにより定義された関数innerをグローバル変数funcに代入し、呼び出している。
code:innter_function3.py
def outer():
def inner(x):
print('This is inner function', x)
return inner
func = outer()
func(10)
関数内関数innerに引数を渡す例。
code:inner_function4.py
def outer():
def inner(x):
print('This is inner function', x)
return inner
outer()(10) # <--- 注目
同様の処理を短縮して記述。