システム開発入門の第6週目では、Pythonの関数を学びました。
関数は、複数の処理に名前を付け、必要な場所から呼び出せるようにしたまとまりです。同じ処理を繰り返し書く代わりに、一度定義して何度も使えます。
授業では、これまで学んだ変数、条件分岐、繰り返し、リストとfor文を、再利用できる処理として整理する方法を確認しました。
第6週で学んだ関数の基本
| 基本 | 授業で確認したこと |
|---|---|
| 定義 | defを使い、処理に名前を付ける |
| 呼び出し | 関数名の後ろに()を付け、定義した処理を実行する |
| 引数 | 呼び出すときに、関数へ必要なデータを渡す |
関数を定義して呼び出す
授業は、同じ処理を何度も書いていないかを見直すところから始まりました。
「これまで書いたコードで、同じ処理を何回も書いていませんか。それを関数にすれば、すっきりまとめられます」
ホワイトボードに示されたのは、あいさつを表示する次の関数です。
def say_hello():
print("こんにちは!")
say_hello()
say_hello()
def say_hello():の行で、say_helloという名前の関数を定義しています。字下げされたprint()が、関数を呼び出したときに実行される処理です。
末尾の二つのsay_hello()が関数の呼び出しです。同じ関数を2回呼び出すため、「こんにちは!」も2回表示されます。
仕組みを確認した後は、好きなメッセージを表示するgreet()関数を作りました。生徒は、関数名の後ろにある()が呼び出しの目印になることをコードで確かめました。
引数で関数にデータを渡す
同じ処理を別の名前に使えるようにするため、次の実習では引数を扱いました。引数は、関数を呼び出すときに渡すデータです。
def greet(name):
print(name + "さん、こんにちは!")
greet("山田")
greet("鈴木")
定義の中にあるnameは、呼び出し側から渡された値を受け取ります。greet("山田")を呼び出すとnameには「山田」が入り、greet("鈴木")では「鈴木」が入ります。
表示処理を丸ごと書き直さなくても、渡す名前を変えるだけで別のあいさつを作れます。授業では、この仕組みを「関数に情報を渡す方法」として学びました。
オリジナル関数の制作課題
基本を確認した後の課題は、オリジナルの関数を作り、その関数を2回以上使うことでした。生徒は、それまでに学んだ処理を組み合わせながら、関数の役割と名前を考えました。
生徒が考えた関数の例
- 名前とあいさつを組み合わせる関数
- 合計点数などを計算し、結果を返す関数
- 好きなキャラクターのせりふを表示する関数
生徒からは、同じ処理を3回書かずに済む点が便利だという声が上がりました。関数を一度作って繰り返し呼び出すことで、重複した記述を減らせると実感できた実習です。
関数を学んだ意味
「関数は、道具箱の中の道具を作るようなものです。一度作れば何度でも呼び出せます。プログラムをきれいに、分かりやすくするための大事な考え方です」
今回の授業では、処理を関数としてまとめるだけでなく、定義した関数を呼び出すこと、引数によってデータを変えられることまで確認しました。これまで個別に学んだ処理を、目的のある部品として組み立てる準備が整いました。
第7週のミニプロジェクト
第7週は、複数の関数を組み合わせ、簡単な対話型アプリや診断ツールを作るミニプロジェクトへ進みます。続きはシステム開発入門の第7週目の授業レポートで紹介しています。

