3日目のゴール
3日目のテーマは
「def で作った関数を“組み合わせて使う”感覚を身につけること」です。
1日目は「関数を作る」
2日目は「関数に入力(引数)を渡す」
そして3日目は、
複数の関数を組み合わせてアプリを作る
ここに進みます。
関数は“部品”です。
今日はその部品をどう組み合わせるかを学びます。
関数を「役割ごとに分ける」考え方
1つの関数に全部詰め込むと壊れやすい
例えば、次のようなコードを考えてみます。
print("==========")
print("メニュー")
print("==========")
print("1: 追加")
print("2: 削除")
print("0: 終了")
print("==========")
Pythonこれを毎回書くのは大変ですし、
修正したいときに全部直す必要があります。
そこで、
「役割ごとに関数に分ける」
という考え方が重要になります。
役割を分けた関数を作る
例:区切り線を表示する関数
def print_line():
print("==========")
Python例:メニューを表示する関数
def show_menu():
print_line()
print("メニュー")
print_line()
print("1: 追加")
print("2: 削除")
print("0: 終了")
print_line()
Pythonここでの深掘りポイントは、
関数の中で別の関数を呼び出している
ということです。
show_menu() の中で print_line() を呼ぶことで、
「区切り線を出す」という処理を再利用しています。
関数を組み合わせると“アプリの流れ”が作れる
メイン処理を関数にまとめる
アプリ全体の流れを
ひとつの関数にまとめると、
コードがとても読みやすくなります。
def main():
print("アプリを開始します")
show_menu()
choice = input("番号を選んでください: ")
print("あなたが選んだ番号:", choice)
Pythonそして、最後にこれを書きます。
main()
Pythonこれでアプリが動きます。
ここでの重要ポイント
関数は
「何をするか」
「いつするか」
を分けて考えるための道具です。
def は「何をするか」を定義する。main() は「いつするか」を決める。
この分離ができると、
アプリの構造が一気に理解しやすくなります。
関数を“階層”として見る
関数の中で関数を呼ぶと「階層」が生まれる
次のコードを見てください。
def print_line():
print("==========")
def show_menu():
print_line()
print("メニュー")
print_line()
def main():
show_menu()
Pythonここには3つの階層があります。
最上位
main(アプリ全体の流れ)
中間
show_menu(メニュー表示のまとまり)
最下位
print_line(区切り線を出す最小単位)
このように、
関数は“階層構造”を作るための道具
だと理解すると、
大きなアプリでも迷わなくなります。
3日目のミニアプリ:メニュー表示アプリ
今日の学びを全部入れたコード
def print_line():
print("==========")
def show_menu():
print_line()
print("メニュー")
print_line()
print("1: 今日の目標を表示")
print("0: 終了")
print_line()
def show_goal():
print_line()
print("今日の目標:関数を組み合わせて使えるようになる")
print_line()
def main():
print_line()
print("関数練習アプリへようこそ")
print_line()
show_menu()
choice = input("番号を選んでください: ")
if choice == "1":
show_goal()
else:
print("アプリを終了します")
main()
Pythonこのアプリでは、
print_line
区切り線を出す最小単位
show_menu
メニュー表示のまとまり
show_goal
目標を表示するまとまり
main
アプリ全体の流れを管理する
という役割分担になっています。
つまずきポイントを深掘りしておく
つまずき1:関数の順番はどう書くべき?
Python は
「定義より前に呼び出す」ことができません。
つまり、
show_menu()
def show_menu():
...
Pythonこれはエラーになります。
基本ルールは
“定義を上、呼び出しを下”
です。
つまずき2:関数が増えると混乱する
関数が増えてきたら、
「役割ごとにまとめる」
という意識を持つと整理できます。
区切り線を出す関数
メニューを表示する関数
ユーザーの選択を処理する関数
アプリ全体を動かす関数
このように、
「何を担当している関数なのか」
を日本語で説明できれば、迷いません。
3日目のまとめ:今日つかんでほしい感覚
今日の本質はこれです。
関数は「処理のまとまり」ではなく
“アプリを組み立てるための部品”である。
関数の中で関数を呼ぶと
“階層”が生まれる。
main を作ると
アプリの流れが一目で分かる。
役割ごとに関数を分けると
コードが壊れにくくなる。
ここまで理解できていれば、
4日目の「戻り値(return)」が
とてもスムーズに入ってきます。

