ネストされた関数 I
直前の動画で、関数の中に関数をネストできることを学びました。これを行う理由の1つは、同じ計算を関数内で何度も書かずに済ませるためです。ネストされた関数の定義方法自体は新しいものではありません。通常の関数と同じく def で定義し、別の関数の中に埋め込むだけです!
この演習では、関数 three_shouts() の中に、文字列オブジェクトに !!! を連結するネストされた関数 inner() を定義します。three_shouts() はその後、inner() を使って !!! が連結された3つの文字列からなるタプルを返します。やってみましょう!
この演習はコースの一部です
Pythonの関数入門
演習の手順
- ネストされた関数のヘッダーを、関数名
inner()と単一のパラメータwordで完成させてください。 - 戻り値を完成させてください:タプルの各要素は
inner()の呼び出しにし、各呼び出しにthree_shouts()のパラメータを引数として渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define three_shouts
def three_shouts(word1, word2, word3):
"""Returns a tuple of strings
concatenated with '!!!'."""
# Define inner
def ____(____):
"""Returns a string concatenated with '!!!'."""
return word + '!!!'
# Return a tuple of strings
return (____, ____, ____)
# Call three_shouts() and print
print(three_shouts('a', 'b', 'c'))