【Python】関数(def)の作り方を初心者向けに徹底解説!引数・returnの使い方まで

Pythonの関数defの作り方

※このサイトの記事内では広告を掲載している場合があります。

「同じような処理を何度も書いていて、コードが長くなってしまう…」「プログラムが大きくなると、どこに何を書いたか分からなくなる」。Pythonを学び始めると、多くの方がこうした悩みにぶつかります。

その解決策が関数(def)です。処理に名前を付けてひとまとめにしておけば、何度でも呼び出せて、コードがぐっと読みやすくなります。この記事では、現役SEの視点から、関数の定義の仕方・引数・戻り値(return)を初心者向けに順番に解説します。

Pythonの関数(def)とは?

関数とは、ひとまとまりの処理に名前を付けたものです。これまで使ってきた print() や len() も関数ですが、def を使えば自分で関数を作れます。

  • 同じ処理を何度も書かなくてよくなる(再利用)
  • 処理に名前が付くので、コードの意味が分かりやすくなる
  • 修正したいときに1か所直せば済む

関数の基本:defで定義して呼び出す

関数は def 関数名(): で定義し、処理はインデント(字下げ)して書きます。定義しただけでは動かず、呼び出して初めて実行されます。

def say_hello():
    print("こんにちは!")
    print("Pythonの世界へようこそ")

say_hello()
say_hello()

# 実行結果
# こんにちは!
# Pythonの世界へようこそ
# こんにちは!
# Pythonの世界へようこそ

同じ関数を2回呼び出しているので、メッセージが2回表示されます。これが「再利用」の第一歩です。

引数を使って関数に値を渡す

関数のカッコの中に書く変数を引数(ひきすう)と呼びます。呼び出すときに値を渡すことで、関数の動きを変えられます。

def greet(name):
    print(f"{name}さん、こんにちは!")

greet("太郎")
greet("花子")

# 実行結果
# 太郎さん、こんにちは!
# 花子さん、こんにちは!

引数が複数ある場合

def add(a, b):
    print(a + b)

add(3, 5)

# 実行結果
# 8

デフォルト値(初期値)を設定する

引数に = で初期値を設定しておくと、呼び出すときに省略できます。

def greet(name, greeting="こんにちは"):
    print(f"{name}さん、{greeting}!")

greet("太郎")
greet("花子", "おはよう")

# 実行結果
# 太郎さん、こんにちは!
# 花子さん、おはよう!

引数の数が決まっていない場合は、*argsと**kwargsの使い方も合わせて確認しておくと理解が深まります。

returnで戻り値を返す

関数の処理結果を呼び出し元に返すには return を使います。返ってきた値は変数に入れて、その後の計算に使えます。

def calc_tax(price):
    return int(price * 1.1)

total = calc_tax(1000)
print(total)

# 実行結果
# 1100

print は画面に表示するだけで、値は残りません。計算結果を後で使いたいときは return を使うのがポイントです。

複数の値を返す

def min_max(numbers):
    return min(numbers), max(numbers)

low, high = min_max([4, 9, 1, 7])
print(low, high)

# 実行結果
# 1 9

カンマ区切りで返すと、実際にはタプルとして返され、上のように分けて受け取れます。

関数を使いこなす実践例

点数のリストから平均点を求める関数を作ってみましょう。

def average(scores):
    return sum(scores) / len(scores)

print(average([80, 65, 90]))
print(average([70, 100]))

# 実行結果
# 78.33333333333333
# 85.0

なお、1行で書ける小さな関数であればlambda式という書き方もあります。また、リストの並び替えで関数を使う場面はsortとsortedの解説記事でも紹介しています。

独学でここまで進んで「もう少し体系的に、質問しながら学びたい」と感じたら、Pythonが学べるプログラミングスクールの比較記事も参考にしてください。自分に合う学び方の選び方を、比較軸ごとに整理しています。

関数でよくあるエラーと対処法

  • TypeError(引数の数が違う):定義した引数の数と、呼び出し時に渡した値の数が合っていません。
  • IndentationError:関数の中身のインデントがそろっていません。半角スペース4つで統一しましょう。
  • Noneが表示される:return を書き忘れると、戻り値は None になります。

エラーで処理が止まるのを防ぎたい場合は、例外処理(try-except)も覚えておくと安心です。

もっと効率的にPythonを学びたい人へ

関数が理解できると、書けるプログラムの幅が一気に広がります。一方で、独学だと「自分の書き方が正しいのか分からない」「エラーの原因が見つからない」と手が止まってしまうこともあります。そんなときは、プロに直接質問できる環境を活用するのも一つの方法です。マンツーマン指導で未経験からPythonを習得でき、転職サポートや無料カウンセリングも用意されています。

※本記事には広告(アフィリエイトリンク)を含みます。

Pythonプログラミング|マンツーマンレッスンで初めてをプロに育てる【Python Winner】

まとめ

  • 関数は def 関数名(): で定義し、呼び出して実行する
  • 引数で値を渡すと、同じ関数で違う結果を出せる(デフォルト値も設定可能)
  • 計算結果を返すときは return を使う
  • 関数を使えばコードの重複が減り、読みやすく修正しやすくなる

まずは身近な処理を1つ関数にしてみるところから始めてみてください。

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA