Pythonのdefによる関数の定義と使い方、引数や戻り値をわかりやすく解説

スポンサーリンク
スポンサーリンク

defの概要

関数の定義と再利用可能な処理の作成 Python予約語

def 関数名(引数):

概要 defはPythonで関数を定義するためのキーワードです。関数を定義すると、特定の処理をまとめて再利用できるようになります。

わかりやすく説明 defを使うと、「何度も使える処理のセット」を作ることができます。例えば、「2つの数を足す処理」を関数として定義すれば、何度でも呼び出して計算できます。

  • defを使うと関数を定義できます。
  • 関数には引数を渡して、処理をカスタマイズできます。
  • 関数の戻り値を利用して、結果を他の処理に活用できます。

defの基本的な使い方

以下の例では、関数を定義し、それを呼び出しています。

# 基本的な関数の定義
def greet():
    print("こんにちは!")

# 関数の呼び出し
greet()
  • def greet(): で関数を定義します。
  • 関数の中に処理(print("こんにちは!"))を書きます。
  • greet() を呼び出すと、関数内の処理が実行されます。

引数を持つ関数

関数に引数を渡すことで、異なるデータを処理できます。

# 引数を持つ関数
def greet(name):
    print(f"こんにちは、{name}さん!")

# 関数の呼び出し
greet("太郎")
  • name という引数を受け取る関数を定義しています。
  • greet("太郎") を実行すると、”こんにちは、太郎さん!”と出力されます。

戻り値を持つ関数

return を使うと、関数の計算結果を戻すことができます。

# 戻り値を持つ関数
def add(a, b):
    return a + b

# 関数の呼び出し
result = add(3, 5)
print(result)  # 8
  • return を使って計算結果を返します。
  • result = add(3, 5) で、関数の戻り値を変数に保存できます。

デフォルト引数を持つ関数

引数にデフォルト値を設定すると、省略時にデフォルト値が使われます。

# デフォルト引数
def greet(name="ゲスト"):
    print(f"こんにちは、{name}さん!")

greet()       # "こんにちは、ゲストさん!"
greet("太郎") # "こんにちは、太郎さん!"
  • 引数を省略するとデフォルト値(”ゲスト”)が使われます。
  • 引数を指定すると、その値が優先されます。

可変長引数(*args, **kwargs)

可変長引数を使うと、任意の数の引数を受け取ることができます。

# 可変長引数
def total(*numbers):
    return sum(numbers)

print(total(1, 2, 3))  # 6
print(total(10, 20, 30, 40))  # 100
  • *numbers は任意の数の引数を受け取ります。
  • sum() を使って、すべての値の合計を計算します。

関数の中で関数を定義(ネストされた関数)

関数の中に別の関数を定義することもできます。

# 関数の中に関数を定義
def outer():
    def inner():
        print("内側の関数が実行されました")
    inner()

outer()
  • inner()outer() の中でのみ使える関数です。
  • 関数の中に関数を作ることで、特定の処理をカプセル化できます。

関数の注意点

  • 関数名はわかりやすく: 何をする関数かが分かる名前を付けましょう。
  • 不要なグローバル変数を使わない: 関数の外の変数を変更すると、バグの原因になります。
  • 戻り値がある場合はreturnを使う: print() ではなく return を使うと、結果を再利用できます。

defのよくある質問

Q: 関数の引数を省略するとどうなりますか?
A: デフォルト値があればその値が使われ、ない場合はエラーになります。
Q: returnprint() の違いは?
A: return は値を返し、print() は画面に出力するだけです。
Q: 関数の中で別の関数を呼び出せますか?
A: はい。関数内から他の関数を呼び出すことができます。

まとめ

def を使うと、再利用可能な関数を定義できます。関数を活用することで、コードの可読性や保守性を向上させることができます。

  • 関数を定義するには def を使います。
  • 引数を渡すことで、関数の動作をカスタマイズできます。
  • return を使うと、関数の結果を受け取ることができます。

適切に関数を活用し、Pythonプログラミングを効率的に行いましょう。