blog.dopana

Back

子供向けPythonプログラミングシリーズの最終回へようこそ!🚀

これまでに、ロボットにおしゃべりさせ、情報を記憶させ、自分で判断させる方法を学びました。でも、ゲームで勝ったときに「ジャンプして、手をたたいて、やったー!と叫ぶ」という複雑なアクションをロボットにさせたいときはどうするかな?

毎回何行も同じコードを入力するのは大変だよね。今日は、コードをまとめてオリジナルのボタンにする 「関数(Functions)」 について学ぼう!

関数ってなに?(レシピのたとえ)#

関数は、料理のレシピや、ゲームのコントローラーのカスタムボタンのようなものです。

  1. レシピを作る(def):繰り返したい手順を1回だけノートに書きます。
  2. 関数を呼び出す(実行する):料理を作りたいときは、そのレシピの名前を呼ぶだけ!
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 * 2
python

返ってきた結果は、変数の箱に入れて保存することができます:

magic_number = double_number(5)
print(magic_number) # ロボットは 10 と答えます
python

自分でやってみよう! 🎮#

Pythonの画面を開いて、オリジナルの魔法の呪文コマンドを作ってみよう:

  1. cast_spell という名前の関数を作り、引数として spell_name を受け取るようにします。
  2. 関数の中で、ロボットに "アブラカダブラ!きみは " + spell_name + " を唱えた! ⚡" と表示させます。
  3. 関数を "ファイアボール" と、"インビジブル(透明化)" で呼び出してみてね。

おめでとうございます! 全5回の子供向けPythonシリーズはこれでおしまいです。きみはコンピューターと話し、記憶させ、判断させ、繰り返し作業をさせ、オリジナルのコマンドを作る方法をマスターしました。これで立派なジュニアプログラマーの仲間入りです! 🎉 これからも楽しくプログラミングを続けてね!

参照#