今回は、Pythonでdefを使って関数を作る方法をご紹介します。
関連記事
Pythonで関数を定義するときに使われるdefキーワードは、特定の処理をひとまとまりにして再利用性を高めるために非常に重要です。
関数を活用すると、同じコードを何度も書く必要がなくなり、保守性も大きく向上します。
defキーワードとは
defは、Pythonにおいて関数を定義する際に使用するキーワードです。
行末にコロン(:)を付け、その次の行からインデント(一般的にはスペース4つ)を入れて関数の処理内容を書きます。
次の例のように、引数や戻り値を定義することで、関数内で行う処理や結果を柔軟にコントロールできます。
関数を作成する方法
関数を定義する流れは、以下のとおりです。
- def のあとに関数名を書く
- 括弧内に必要な引数を定義する
- コロン(:)を付ける
- 次の行からインデントして関数の処理を書く
- 必要に応じて return で戻り値を返す
引数や戻り値は無理に使う必要はありません。
用途に合わせて適切に定義することで、コードの可読性や保守性が高まります。
基本的な使い方の例
ここでは、さまざまなパターンの関数定義と呼び出し例を紹介します。
引数なしの関数
引数を取らず、メッセージを表示する関数の例です。
1 2 3 4 5 |
def say_hello(): print("Hello, World!") # 関数の呼び出し say_hello() |
実行結果
Hello, World!
引数ありの関数
引数として受け取ったデータを使い、あいさつメッセージを表示します。
1 2 3 4 5 |
def greet(name): print("こんにちは、" + name + "さん!") # 関数の呼び出し greet("太郎") |
実行結果
こんにちは、太郎さん!
戻り値を持つ関数
2つの数値を受け取り、その和を返す関数の例です。
1 2 3 4 5 6 7 |
def add(a, b): result = a + b return result # 関数の呼び出しと戻り値の利用 sum_value = add(10, 5) print(sum_value) |
実行結果
15
デフォルト引数を利用した関数
引数にあらかじめデフォルト値を設定しておくと、呼び出し時に省略できます。
1 2 3 4 5 |
def power(base, exponent=2): return base ** exponent print(power(3)) # exponentが省略された場合は2 print(power(3, 3)) # exponentを3に指定 |
実行結果
9
27
可変長引数を使う関数
複数の引数をまとめて受け取りたいときに使用する例です。
1 2 3 4 5 6 7 |
def sum_all(*numbers): total = 0 for num in numbers: total += num return total print(sum_all(1, 2, 3, 4)) |
実行結果
10
よくあるエラー
関数定義において注意すべき代表的なエラーやポイントを以下にまとめます。
- IndentationError:インデントが正しくない場合に発生します
- SyntaxError:コロン(:)の付け忘れや引数の順序が間違っていると発生します
- 名前の重複:組み込み関数名(sumやlistなど)を上書きすると予期せぬ動作につながります
- globalキーワード:関数内でグローバル変数を変更する場合に使いますが、基本的には引数と戻り値の利用が推奨されます
まとめ
defを使って関数を定義すると、コードを整理しやすくなり再利用性が向上します。
引数や戻り値を適切に設定することで、拡張性のあるコードを構築できます。
インデントや引数の順序などのポイントを押さえて、効率的にPythonを活用してください。
関連記事