はじめに
Pythonの学習が少し進むと、「同じ処理を何度も書くのが面倒」「コードがごちゃごちゃして読みにくい」と感じることが出てきます。
そんなときに役立つのが、関数(function)です!
関数を使えば、よく使う処理をひとまとめにして再利用でき、プログラムの見通しも格段によくなります。
この記事では、Python初心者向けに、関数の作り方・使い方・メリットをわかりやすく解説します!
関数とは?
関数とは、ある処理に名前をつけて定義したものです。
イメージとしては「コーヒーメーカー」のようなもので、
「ボタン(=関数名)を押せば、同じ手順でコーヒーが出てくる」ような感じです。
Pythonの関数の作り方(基本構文)
Pythonで関数を定義するときは、次のように書きます。
def 関数名(引数):
処理
return 戻り値例:2つの数を足す関数
def add(a, b):
result = a + b
return result
print(add(3, 5)) # → 8🔍ポイント
defは “define”(定義する)の略- 丸かっこ
()の中には引数(入力)を指定 returnは処理結果(戻り値)を返すために使います
引数がない関数・戻り値がない関数もOK!
関数は引数なし/戻り値なしでも使えます。
引数なし
def greet():
print("こんにちは!")
greet()戻り値なし
def show_sum(a, b):
print("合計は", a + b)
show_sum(4, 7)デフォルトの引数を設定する
デフォルト引数とは?
関数を定義するとき、引数にあらかじめ値(デフォルト値)を設定しておくことができます。
呼び出し時にその引数を省略すると、デフォルト値が自動的に使われます。
メリット
- 引数を省略できるので、関数の使い勝手がよくなる
- よく使う値をデフォルトにしておくことで、コードが簡潔になる
例
def greet(name='ゲスト'):"こんにちは、" + str(name) + "さん!"
print()
greet('山田') # こんにちは、山田さん!
greet() # こんにちは、ゲストさん!
関数を使うメリット3選
1. コードの再利用ができる
同じ処理を何度も書かなくて済みます。
2. 可読性(見やすさ)が上がる
「この関数は何をするのか」が名前で明確になる。
3. 修正がラクになる
処理をひとつにまとめておけば、変更は関数内だけでOK!
よくあるエラーと注意点
① 関数を呼び出し忘れる
def hello():
print("Hello")
# hello() を書かないと何も起きない!② インデントミス
def greet():
print("Hi") # ❌ NG!
# ✅ OK
def greet():
print("Hi")③ returnがないまま使う
def double(x):
x * 2 # returnがないので何も返らない練習問題
1. 基本的な関数の作成
- 問題1
「2つの数値を引数に取り、その和を返す関数 add_numbers を作成してください。また、add_numbers(10, 20) を実行したときの結果も出力してください。」
2. 条件分岐を含む関数
- 問題2
「引数に整数を受け取り、その値が偶数なら ‘偶数です’、奇数なら ‘奇数です’ と出力する関数 check_even_odd を作成してください。check_even_odd(7) の実行結果も確認しましょう。」
3. デフォルト引数を使った関数
- 問題3
「名前(name)を引数に受け取り、’こんにちは、〇〇さん!’ と挨拶を表示する greet 関数を作成してください。引数を省略した場合は ‘ゲスト’ さんと表示されるようにしてください。」
4. リストを受け取る関数
- 問題4
「整数のリストを引数に受け取り、そのリストの合計値と平均値を返す関数 calc_sum_avg を作成してください。例として [10, 5,15]を使って実行してみましょう。」
5. 応用:FizzBuzz関数
- 問題5
「引数に整数 n を受け取り、1から n までの数をFizzBuzzのルールで表示する関数 fizzbuzz を作成してください。FizzBuzzのルールは、3の倍数で’Fizz’、5の倍数で’Buzz’、3と5の公倍数で’FizzBuzz’、それ以外は数字を表示するものです
まとめ
この記事では、Pythonの関数について
- 基本の書き方(def・return)
- 引数と戻り値の扱い
- 関数を使う3つのメリット
- 初心者がよくやるエラー
を解説しました!
関数は、コードを整理し、効率よく管理するための必須スキルです。
次回は、Pythonのライブラリ(モジュール)の使い方について解説していきます!
↓ [次の記事はこちら]
【5分で理解】Pythonモジュール・ライブラリの使い方【pandas・numpy入門】
🔥この記事を読んだ後にできること
- Pythonで自分だけの関数を定義できる
- 引数と戻り値を使って処理を自由に設計できる
- コードを再利用・整理してスマートに書けるようになる
🔗 統計自主学習シリーズ × Python基礎編
▶︎ 【前の記事】
【Python入門】for文・while文による繰り返し処理の基本と応用
▶︎ 【次の記事】

コメント