デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第55回 Lv2 ⏱ 15〜20分

関数を作ってみよう

🎯 きょうのミッション

関数(かんすう)は「名前のついたプログラムの部品ぶひん」。今回は、同じあいさつを3か所に書く方法と、関数に1回だけ書く方法を比べます。あとから文章を直すとき、どちらがミスしにくいか確かめましょう。

🧠 できるようになること

  • def で関数を定義できる
  • 関数を呼び出せる
  • 関数を使うと、修正する場所が1か所になると説明できる

🧰 用意するもの

  • パソコン
  • ブラウザ(Chrome / Edge / Safari)
  • インターネット接続
  • このページの「▶ このページで実行」ボタン(コードをそのまま動かせます)
  • Trinket(予備の実行サイト:https://trinket.io/python)

🖼 できあがり

hello() を3回呼び出すと、2行のあいさつが3セット表示されます。文章を変えたいときは、関数の中だけを直せば全部に反映されます。

📺 実行結果
おはよう!
今日もPythonを楽しもう。
おはよう!
今日もPythonを楽しもう。
おはよう!
今日もPythonを楽しもう。

🚀 やりかた

  1. まず、2つの print を3セット書く場合、文章の変更が何か所必要か考える。
  2. def hello(): の下に、2つの print をインデントして書く。
  3. インデントを戻し、hello() を3回書いて呼び出す。
  4. 関数の中の「おはよう!」を「こんにちは!」に1回だけ直し、3セット全部が変わることを確かめる。

🐍 きょうのコード

Python main.py
def hello():
    print("おはよう!")
    print("今日もPythonを楽しもう。")

hello()
hello()
hello()
▶ Trinketを開いて動かす

このページの「▶ このページで実行」でそのまま動きます。Trinketを使うときは、上のコードをコピーして左のエリアに貼り付け、Runボタン(▶)を押します。

💡 きょうのポイント

def は関数を作る(定義する)合図、hello() は関数の中身を動かす(呼び出す)合図です。関数を作っただけでは中身は動きません。処理を1か所にまとめると、変更漏れを防げます。

🎮 チャレンジ

  • 予想:hello() をすべて消して実行すると、何が表示される?
  • 切り分け:hello() を def hello(): より上に移すと、何というエラーが出る? エラー行を探そう
  • 応用:3行の自己紹介を表示する profile 関数を作り、2回呼び出そう

🔁 ふりかえり

  • 関数を使わずに文章を3セット書くと、変更するときに何か所直す必要がある?
  • 「定義」と「呼び出し」は、それぞれコードのどの部分?
  • 関数を定義しただけで何も表示されないのはなぜ?

👨‍👩‍👧 おうちの人・先生へ

  • 準備:なし。
  • つまずきポイント:def のあとのコロンとインデント忘れ。hello() のカッコ忘れ。
  • 確認方法:関数内の文字列を1回変更し、3回分の出力がすべて変わることまで確認すると、再利用の価値が伝わります。
  • 声かけ例:「何回使えるか」だけでなく、「直す場所が1つになるのが関数の強み」と伝えてください。