演習課題「内部関数の定義」
右側のコードエリアには、関数 nine_times
を呼び出すコード用意されていますがエラーが起きてしまい正しく動作しません。
関数 nine_times
のなかで引数を 3
倍する関数 thrice を内部関数を記述してください。
期待する出力値
18
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#06:内部関数を定義
このチャプターでは、内部関数を定義する方法を学習しましょう。
- 内部関数とは、関数の内部に定義する関数
- 内部関数を使ったコード:
def eight_times(x):
def twice(y):
return y * 2
return twice(x) * 4
print(eight_times(3))
- eight_times 関数のなかで定義されている twice 関数が内部関数
- 内部関数を呼び出すことができるのは、その内部関数が定義されている関数のなかからのみ
- つまり次のコードで、twice 関数を eight_times 関数の外から使うことはできない
def eight_times(x):
def twice(y):
return y * 2
return twice(x) * 4
print(eight_times(3))
- 関数内で何度もおこなう処理を内部関数にまとめる
- また、関数のなかからしか呼び出すことができない特性を生かして、
- 「関数としてまとめたいが、自由に使われては困る処理」
- 「関数としてまとめたいが、関数の外から使うことはなく、自由に使えるようにしても無駄になる処理」
といった処理を関数としてまとめることができる
ログインすると採点できます
コードの実行