
【6日でできるPython入門】関数①
Pythonでは、今まで「組み込み関数」や「メソッド」を多く使ってきました。ですが、プログラムが大きくなってくると、自分自身で関数を定義して使いたい場面が増えてきます。関数を使うと「同じ処理を何度も書く」必要がなくなり、コードがすっきりして管理しやすくなります。また、処理のまとまりに名前を付けて再利用できるため、プログラムの構造も明確になります。ここでは、Pythonで自作の関数を定義し、使いこなす方法を実例とともに学んでいきます。

1.関数の基本と定義方法
1.1. 関数を定義して呼び出す
Pythonで関数を定義するには、def
キーワードを使います。
ファイル名: lesson17-1.py
def display_greeting():
print("こんにちは!Pythonの勉強を始めましょう。")
# 関数を3回呼び出す
display_greeting()
display_greeting()
display_greeting()
実行結果
こんにちは!Pythonの勉強を始めましょう。
こんにちは!Pythonの勉強を始めましょう。
こんにちは!Pythonの勉強を始めましょう。
解説
def display_greeting():
で「display_greeting」という関数を定義しています。- 関数本体はインデント(字下げ)された部分です。
- 関数は「定義」してから「呼び出す」ことが必要です。
1.2. 関数定義の順番とスコープ
関数は定義より前に呼び出すことはできません。
ファイル名: lesson17-2.py
show_message() # ここでエラーになる
def show_message():
print("このメッセージは関数の中です。")
実行結果
Traceback (most recent call last):
File "main.py", line 1, in <module>
show_message()
NameError: name 'show_message' is not defined
解説
- Pythonは上から順番にコードを読み込むため、関数定義より前で呼び出すと「未定義」としてエラーになります。
2.関数の利点と使いみち
2.1. コードの再利用
同じ処理を繰り返し書くよりも、関数にまとめておけば何度でも呼び出せます。
ファイル名: lesson17-3.py
def show_welcome():
print("ようこそ、プログラムへ!")
for i in range(3):
show_welcome()
実行結果
ようこそ、プログラムへ!
ようこそ、プログラムへ!
ようこそ、プログラムへ!
2.2. コードの見通しを良くする
関数を使うことで、処理のまとまりに「名前」をつけてプログラムの流れを分かりやすくできます。
ファイル名: lesson17-4.py
def 初期設定():
print("初期設定を開始します。")
def データ読み込み():
print("データを読み込みます。")
def 結果表示():
print("処理結果を表示します。")
# メインの流れ
初期設定()
データ読み込み()
結果表示()
実行結果
初期設定を開始します。
データを読み込みます。
処理結果を表示します。
解説
- 関数名だけで何をしているか一目で分かるようになります。
- メイン処理の流れが簡潔に記述できます。
3.引数と戻り値
3.1. 引数つき関数
関数に「入力値(引数)」を渡して動作を変えることができます。
ファイル名: lesson17-5.py
def greet_person(name):
print(f"{name}さん、こんにちは!")
greet_person("鈴木")
greet_person("佐藤")
実行結果
鈴木さん、こんにちは!
佐藤さん、こんにちは!
解説
name
が「仮引数」、関数呼び出し時に渡す「鈴木」「佐藤」が「実引数」です。
3.2. 複数の引数・キーワード引数
ファイル名: lesson17-6.py
def 紹介(name, age):
print(f"私は{name}、{age}歳です。")
紹介("山田", 20)
紹介(name="高橋", age=25)
実行結果
私は山田、20歳です。
私は高橋、25歳です。
解説
- 複数の引数はカンマで区切って定義します。
name="高橋"
のようにキーワード引数で渡すこともできます。
3.3. 戻り値(return)
計算した結果などを呼び出し元に返すには、return
を使います。
ファイル名: lesson17-7.py
def 合計(a, b):
return a + b
result = 合計(7, 5)
print(f"合計は{result}です。")
実行結果
合計は12です。
解説
return
の後に返したい値を記述します。- 戻り値は呼び出し元で変数などに受け取って使います。
3.4. 複数の戻り値
ファイル名: lesson17-8.py
def 四則演算(a, b):
return a + b, a - b, a * b, a / b
加算, 減算, 乗算, 除算 = 四則演算(12, 3)
print(f"加算: {加算}, 減算: {減算}, 乗算: {乗算}, 除算: {除算}")
実行結果
def 四則演算(a, b):
return a + b, a - b, a * b, a / b
加算, 減算, 乗算, 除算 = 四則演算(12, 3)
print(f"加算: {加算}, 減算: {減算}, 乗算: {乗算}, 除算: {除算}")
解説
return
で複数の値を返すと「タプル」になります。- 呼び出し側でアンパックして個別に受け取ることができます。
まとめ表:関数の基本要素
概念 | 説明 | 例 |
---|---|---|
定義 | def 関数名(): で関数を作成 | def hello(): print("こんにちは") |
引数 | 丸括弧内で値を受け取る | def show(name): |
戻り値 | returnで値を返す | return a + b |
複数戻り値 | カンマ区切りで複数値を返す | return x, y |
呼び出し | 関数名()で実行 | hello() |
キーワード引数 | 引数名=値 で渡す | show(name="田中") |
ここでは、Pythonで自作関数を作り、柔軟なプログラムを組むための第一歩をしっかり身につけました。