はじめに
こんにちは!
今回も、備忘録を兼ねて。
Pythonでコードを書くとき、処理をまとめたり、再利用したりするために関数を使いますよね。
関数は、特定の処理に名前を付けたもので、必要な時に呼び出して使うことができます。
それでは、基本から見ていきましょう。
関数定義の基本
Pythonで関数を定義するには、def
キーワードを使います。基本的な構文は以下の通り。
def 関数名(引数1, 引数2, ...):
"""
関数の説明(ドキュメンテーション文字列)
"""
# 関数で行う処理
return 戻り値
- 関数名: 関数に付ける名前。分かりやすい名前を付けましょう。
- 引数: 関数に渡す値。複数の引数を指定する場合はカンマで区切ります。
- ドキュメンテーション文字列: 関数の説明を記述します。省略可能です。
- 処理: 関数が行う処理を記述します。インデントを付けて記述します。
-
戻り値: 関数の実行結果として返す値。
return
文で指定します。省略可能です。
簡単な関数定義の例を見てみましょう。
def greet(name):
"""
挨拶をする関数
"""
print(f"こんにちは、{name}さん!")
greet("やました") # 出力: こんにちは、やましたさん!
引数について
引数のデフォルト値
関数定義時に、引数にデフォルト値を設定しておくことができます。
デフォルト値が設定された引数は、関数呼び出し時に値が渡されかった場合に、デフォルト値が使用します。
def greet(name="ゲスト"):
"""
挨拶をする関数
"""
print(f"こんにちは、{name}さん!")
greet() # 出力: こんにちは、ゲストさん!
greet("やました") # 出力: こんにちは、やましたさん!
可変長引数
関数定義時に引数の数を固定せずに、任意の数の引数を受け取れるようにしたい場合があります。
そのような場合には、アスタリスク(*
)を使って可変長引数を定義します。
def sum_all(*args):
"""
すべての引数の和を返す関数
"""
total = 0
for num in args:
total += num
return total
print(sum_all(1, 2, 3)) # 出力: 6
print(sum_all(10, 20, 30, 40)) # 出力: 100
可変長引数はタプルとして扱われます。
タプルについては こちら を参照してください。
戻り値について
複数の値を返す
Pythonの関数は、複数の値を返すことができます。
def calculate(x, y):
"""
xとyの和と積を返す関数
"""
sum_xy = x + y
product_xy = x * y
return sum_xy, product_xy
s, p = calculate(3, 4)
print(f"和: {s}, 積: {p}") # 出力: 和: 7, 積: 12
関数をより便利に使う
lambda式を使った無名関数
簡単な処理を行う関数を、その場で定義したい場合には、lambda
式を使うと便利です。lambda
式を使うと、関数定義を1行で書くことができます。
# lambda式を使った無名関数
square = lambda x: x ** 2
print(square(5)) # 出力: 25
関数を引数として渡す
Pythonでは、関数を別の関数の引数として渡すことができます。
def apply_operation(func, x, y):
"""
渡された関数にxとyを引数として渡して実行する
"""
result = func(x, y)
return result
def add(x, y):
return x + y
def multiply(x, y):
return x * y
print(apply_operation(add, 3, 5)) # 出力: 8
print(apply_operation(multiply, 3, 5)) # 出力: 15
まとめ
今回は、Pythonの関数の基本的な定義方法から、引数、戻り値、そして応用的な使い方まで解説しました。
私もまだまだ勉強中ですが、関数の使い方を理解し、より効率的な開発を行いましょう!