関数:ロボットのコマンドを作ろう
Pythonロボットに新しい特技を教えよう!コードを「関数(Functions)」というカスタムボタンにまとめ、引数を渡し、結果を受け取る方法を学びます。
子供向けPythonプログラミングシリーズの最終回へようこそ!🚀
これまでに、ロボットにおしゃべりさせ、情報を記憶させ、自分で判断させる方法を学びました。でも、ゲームで勝ったときに「ジャンプして、手をたたいて、やったー!と叫ぶ」という複雑なアクションをロボットにさせたいときはどうするかな?
毎回何行も同じコードを入力するのは大変だよね。今日は、コードをまとめてオリジナルのボタンにする 「関数(Functions)」 について学ぼう!
関数ってなに?(レシピのたとえ)#
関数は、料理のレシピや、ゲームのコントローラーのカスタムボタンのようなものです。
- レシピを作る(
def):繰り返したい手順を1回だけノートに書きます。 - 関数を呼び出す(実行する):料理を作りたいときは、そのレシピの名前を呼ぶだけ!
graph TD
Call["呼び出し: celebrate()"] --> Recipe["レシピ: def celebrate():"]
Recipe --> Step1["1. ジャンプする! 🤸"]
Recipe --> Step2["2. 手をたたく! 👏"]
Recipe --> Step3["3. やったー!と叫ぶ 🎉"]
Pythonでは、def(define = 定義する の略)という言葉を使って関数を作ります:
def celebrate():
print("ジャンプする! 🤸")
print("手をたたく! 👏")
print("やったー! 🎉")pythonこれだけでは、ロボットはレシピを覚えただけで、まだ実行はしません。ロボットにこのアクションをさせるには、名前の後にカッコ () をつけて 「呼び出す」 必要があります:
celebrate()python材料を入れる関数(引数)#
料理のレシピには材料が必要です。例えば、ケーキを焼くときに、チョコ味にするかイチゴ味にするか選べるようにするようなものです。
関数では、この材料のことを 「引数(パラメータ)」 と呼び、カッコの中に書きます:
def greet(name):
print("こんにちは、" + name + "さん!チームへようこそ! 🤝")python関数を呼び出すときに、カッコの中に材料(具体的な名前)を入れて渡してあげます:
greet("アレックス")
greet("エマ")pythonロボットはこう答えるよ:
- 「こんにちは、アレックスさん!チームへようこそ! 🤝」
- 「こんにちは、エマさん!チームへようこそ! 🤝」
結果を受け取る (return)#
画面に表示するだけでなく、関数で計算した結果をロボットから返してほしい(自動販売機からジュースが出てくるように)ときがあります。これには return(返す)という言葉を使います:
def double_number(number):
return number * 2python返ってきた結果は、変数の箱に入れて保存することができます:
magic_number = double_number(5)
print(magic_number) # ロボットは 10 と答えますpython自分でやってみよう! 🎮#
Pythonの画面を開いて、オリジナルの魔法の呪文コマンドを作ってみよう:
cast_spellという名前の関数を作り、引数としてspell_nameを受け取るようにします。- 関数の中で、ロボットに
"アブラカダブラ!きみは " + spell_name + " を唱えた! ⚡"と表示させます。 - 関数を
"ファイアボール"と、"インビジブル(透明化)"で呼び出してみてね。
おめでとうございます! 全5回の子供向けPythonシリーズはこれでおしまいです。きみはコンピューターと話し、記憶させ、判断させ、繰り返し作業をさせ、オリジナルのコマンドを作る方法をマスターしました。これで立派なジュニアプログラマーの仲間入りです! 🎉 これからも楽しくプログラミングを続けてね!