まなびの目標🎯
・プログラミングに重要なコードの再利用について知る。
・プログラミングにおける関数・モジュール・ライブラリを理解する。
・Pythonを例に関数・モジュール・ライブラリを使ってみる。
・確認テストで学びを復習!
1. はじめに
これまで、順次構造、選択構造、反復構造などを使ってプログラムを書いてきました。

簡単なプログラムであれば、上から順に指示のコードひとつひとつを書いて実行する、で、OKです!
ただ、コンピュータに任せるプログラムがどんどん複雑になると、コードの行数がどんどん長くなって。。
→ どこに何が書いてあるか、見つけるのも大変💦
→ 同じような計算や処理を何度も書くのも大変だし、、たとえコピペしても、最初のが間違えてたら全部書き直さなきゃいけない…T-T
こういう場合に有効なのが、コードの再利用です。例えば、一度書いたコードを何度も使い回すことで、プログラムを効率的かつ分かりやすく作ることができます。
プログラミングにとって、できるだけシンプルなコードにする、というのは永遠の目標でもあります💡
この記事では、プログラミングにおける関数とモジュール、そしてライブラリという3つのキーワードを通して、コードを整理し、効率化する方法をPythonの例で見ていきましょう!
2. 関数
関数は、特定の処理をひとまとまりにしたものです。料理に例えるなら、「野菜を切る」「お米を炊く」といった、それぞれの工程に名前を付けて、必要なときにその工程を呼び出すイメージです💡
関数を使うと、以下のようなメリットがあります。
・コードが読みやすくなる(可読性の向上):何をする処理なのか、関数名を見るだけで分かりやすくなります。
・コードの再利用ができる:一度作った関数は、プログラムの様々な場所で何度でも呼び出して使うことができます。同じ処理を繰り返し書く手間が省けます。
・修正が楽になる:もし処理の内容を変更したくなっても、関数の定義部分を一つ直すだけで、関数を呼び出している全ての場所にその変更が反映されます。
関数の基本要素として、引数(ひきすう)と戻り値があります。
・引数: 関数に渡す数値や情報のことです。これによって、関数は毎回異なるデータで同じ処理を実行できます。
・戻り値: 関数が処理を終えた後に返す結果のことです。関数が計算した答えなどを受け取るために使います。
■Pythonでの関数の書き方と呼び出し方
Pythonで関数を作るには、def(define:定義するの略)というキーワードを使います。
def 関数名(引数1, 引数2, …):
# 関数の本体(実行したい処理をココに書く)
# インデント(字下げ)が必要
return 戻り値 # 必要であれば値を返す
-例1: 引数も戻り値もないシンプルな関数 (メッセージを表示するだけの関数)
# Pythonの例:
def greet(): # 'greet'という名前の関数を定義
print("こんにちは!") # 関数が呼び出されたらこの行が実行される
greet() # 関数を呼び出す。定義した処理が実行される。
# 出力結果: こんにちは!
-例2: 引数はあるが、戻り値がない関数 (名前を受け取って、その名前を含んだメッセージを表示する関数)
# Pythonの例:
def say_hello(name): # 'name'という引数を受け取る関数を定義
print(f"こんにちは、{name}さん!") # 受け取った名前を使ってメッセージを表示
say_hello("太郎") # '太郎' を引数として渡して関数を呼び出す
say_hello("花子") # 別の名前を渡して再度関数を呼び出す
# 出力結果: こんにちは、太郎さん! こんにちは、花子さん!
say_helloという同じ関数を、異なる引数(名前)で何度も呼び出すことで、コードの再利用をしています。
例3: 引数もあり、戻り値もある関数 (2つの数字を受け取って、その合計を計算し、結果を返す関数)
# Pythonの例: def add_numbers(a, b): # 'a'と'b'という2つの引数を受け取る関数を定義 result = a + b # aとbを足し算して'result'に格納 return result # 'result'の値を関数の外に返す sum_result = add_numbers(10, 5) # 関数を呼び出し、戻り値(計算結果)を'sum_result'に受け取る print(f"合計は {sum_result} です。") # fはそれ以降を文字列として解釈する another_sum = add_numbers(100, 200) # 別の数字でも再利用 print(f"別の合計は {another_sum} です。")
# 出力結果: 合計は 15 です。 別の合計は 300 です。
このように、関数を使うことで、同じ計算処理を何回も書かずに、必要な場所で呼び出すだけで使えるようになります。これがコードの再利用の大きなメリットです。
3. モジュールとライブラリ
関数は、プログラムの特定の処理をひとまとまりにしたものでした。
モジュールやライブラリは、そうしたまとまりをたくさん集めて整理したものです。
■モジュール
モジュールとは、関連する関数や変数などをひとつのPythonファイル(.py 拡張子を持つファイル)にまとめたものです。例えば、計算に関する関数だけを集めたファイル、文字処理に関する関数だけを集めたファイルなどです。自分で作った便利な関数を他のプログラムでも使いたいときに、モジュールとして保存しておくと、簡単に読み込んで再利用できます。
■ライブラリ
ライブラリは、複数のモジュールや、特定の目的(例:科学計算、画像処理、AI開発など)のために作られた非常に多くの便利な機能の集まりです。モジュールが「単体の道具」だとすると、ライブラリはそれらの道具を分類して入れた「工具箱全体」のようなイメージです。
プログラミングの世界では、すでに多くのプログラマーの方々が、様々な問題を解決するための便利な機能を開発し、ライブラリとして公開してくださっています。すでに誰かが作った便利な機能や計算方法を、わざわざゼロから自分で作り直すことなく、有効に使用することができます!
モジュールやライブラリを活用することで、以下のような大きなメリットがあります。
・自分で書くコードの量を大幅に減らせる: 複雑な処理も、モジュールやライブラリの関数を呼び出すだけで実現できます。
・専門的な計算や複雑な処理も簡単に実現できる: AIやデータ分析、画像処理など、専門知識が必要な分野でも、それらに特化したライブラリを使うことで、初心者でも高度な機能を利用できます。
・プログラム開発の効率が格段に上がる: 開発時間を短縮し、より多くの機能を持ったプログラムを効率的に作れるようになります。
3.1. Pythonでのモジュール
Pythonでモジュールやライブラリを使うには、importというキーワードを使います。
ー例1: math モジュールを使った計算
mathモジュールは、数学的な計算に関する便利な関数や定数(円周率など)がまとまっています。
# Pythonの例:
import math # mathモジュールを読み込む
# 円周率πを表示
print(math.pi) # mathモジュールの中にある 'pi'(円周率)を使う
# 平方根(ルート)の計算
num = 16
sqrt_num = math.sqrt(num) # mathモジュールの中にある 'sqrt' 関数を使う
print(f"{num}の平方根は {sqrt_num} です。")
# 出力結果: 3.141592653589793 16の平方根は 4.0 です。
このように、math.という形でモジュール名をつけてから、その中の機能を利用します。
ー例2: randomモジュールを使った乱数生成
randomモジュールは、ランダムな数(乱数)を生成するための機能がまとまっています。ゲームやシミュレーションなどでよく使われます。
# Pythonの例: import random # randomモジュールを読み込む # 1から6までのランダムな整数を生成(サイコロの目をイメージ) dice_roll = random.randint(1, 6) # randomモジュールの中にある 'randint' 関数を使う print(f"サイコロの目は {dice_roll} です。") # 0.0以上1.0未満のランダムな浮動小数点数を生成 rand_float = random.random() print(f"ランダムな小数: {rand_float}")
# 出力結果: サイコロの目は 3 です。 ランダムな小数: 0.87654321
ランダムなので、実行するたびに出力結果は変わります💡
3.2. Pythonでのライブラリ
Pythonには、標準で含まれるものから、インターネット上で公開されているものまで、非常に多くの便利なライブラリが存在します。ここでは、Pythonに標準で備わっている日付と時刻を扱うライブラリの簡単な例を見てみましょう。
ー例3: 日付と時刻を扱う datetime ライブラリ
datetime ライブラリは、日付や時刻を扱うための複数の機能(モジュール)を含む、Pythonの標準ライブラリのひとつです。今日の年月日を取得したり、特定の日付を計算したりできます。
# Pythonの例: from datetime import date # datetimeライブラリの中のdateモジュールを読み込む today = date.today() # 今日の日付を取得する print(f"今日は {today.year}年 {today.month}月 {today.day}日 です。") # 特定の日付を作成 my_birthday = date(2007, 7, 29) # 2007年7月29日の日付オブジェクトを作成 print(f"私の誕生日は {my_birthday} です。")
# 出力結果: 今日は 2025年 7月 29日 です。 私の誕生日は 2007-07-29 です。
上記を実行した日によって「今日は~」の部分は変わります💡
4. まとめ
今回の記事を通して、プログラミングを効率的に進めるための強力な味方、「関数」と「モジュール・ライブラリ」について学びました。プログラミングにおいて、「できるだけシンプルで分かりやすいコードにする」ということは永遠の目標です。関数とモジュールは、まさにその目標を達成するための強力なツールとなります。
・関数は、特定の処理をひとまとまりにしたものです。これを使うことで、コードは読みやすくなり、同じ処理を何度も書かずに再利用できるようになります。
・モジュールは、関連する関数などをひとつのファイルにまとめたもので、ライブラリは、複数のモジュールなどを集めて整理したものです。これらを活用することで、私たちはゼロからすべてを作る手間を省き、より高度な機能も簡単にプログラムに取り入れることができます。
関数を使って問題を小さな部品に分けて考えたり、モジュールやライブラリを活用して便利な道具を使いこなしたりすることは、複雑なプログラムを作成する上で非常に重要です。
5. 確認クイズ
Q1. プログラムの複雑化を防ぎ、効率的にコードを書くための考え方で、一度書いたコードを何度も使い回すことを何と言いますか?
- コードの再利用
- コードの複雑化
- コードの重複
正解!
不正解!
コードの再利用
ヒント:同じコードを何度も書く手間を省き、修正の手間も減らすことができます。
Q2. Pythonで独自の関数を定義する際に使用するキーワードは何ですか?
- import
- print
- def
正解!
不正解!
def
ヒント:関数名を定義する際に、その前に置く「define」を短縮した言葉です。
Q3. 関数に何か処理させるための「材料」として、関数に渡す数値や情報のことを何と呼びますか?
- 戻り値
- 変数
- 引数
正解!
不正解!
引数
ヒント:関数を使うときにカッコの中に書く、関数への「入力」となるものです。
Q4. 関数が計算した結果などを関数の外に返す際に使うキーワードは何ですか?
- import
- print
- return
正解!
不正解!
return
ヒント:関数から「結果を返す」ときに使う英単語です。
確認クイズは、いかがでしたでしょうか?今回の学習内容が、皆さんの情報活用能力を高める一助となれば幸いです。閲覧いただき、ありがとうございました!
※本記事 教科書該当範囲
教科書名 | 該当章 |
新編情報Ⅰ(東京書籍) | 3章 28. 発展的なプログラム2 |
最新情報I(実教出版) | 第6章 2節 2. 関数を使用したプログラム |
高校情報ⅠPython(東京書籍) | 第6章 31. プログラミングの基本, 33. 関数 |
本サイトは、教科書をベースに構成しています。使える「情報Ⅰ」を目指し、毎週新しい記事を発信予定です。



本記事に対し、お気づきの点ございましたらお問い合わせよりご連絡頂けますと幸いです。
コメント