Python 関数: 決定版ガイドと例

Python 関数をマスターします。 def を使用して再利用可能なコードを作成する方法、引数を定義する方法、戻り値を定義する方法、ローカルおよびグローバルなスコープを理解する方法を学びます。

エディターで試してみる

概要

関数は、単一の特定のアクションを実行するように設計された、組織化された再利用可能なコードの自己完結型ブロックです。 Python スクリプトが数行を超えると、コードを関数に整理することが重要になります。関数は複雑さを抽象化し、メインのプログラム フローを読みやすく、保守しやすくします。同じロジックを複数の場所で繰り返す代わりに、関数を 1 回作成し、必要なときにいつでもそれを「呼び出し」ます。

Python には、`print()`、`len()`、`type()` など、すぐに使用できる多数の組み込み関数が用意されています。ただし、プログラミングの真の力は、独自のユーザー定義関数を作成することから生まれます。ロジックをカプセル化することで、個別にテストしたり、さまざまなプロジェクト間で再利用したり、チームで共有したりできるモジュール式のビルディング ブロックを作成できます。

Python で関数を定義するには、「def」キーワードの後に、わかりやすい関数名、かっこ「()」、コロン「:」を続けます。この定義の下にあるインデントされたコードはすべて、機能ブロックに属します。関数は、名前によって明示的に呼び出された場合にのみ実行されます。

関数はパラメーター (引数とも呼ばれます) を通じてデータを受け入れることができます。これらは、関数定義のかっこ内にリストされている変数です。正確な順序で渡す必要がある位置引数を要求したり、デフォルト値を持つキーワード引数を使用して、柔軟な関数呼び出しを可能にしたりできます。たとえば、`def Calculate_tax(price, rate=0.05):` を使用すると、呼び出し元は `rate` 引数を省略でき、デフォルトでは 5% になります。

最後に、関数は通常、「return」ステートメントを使用して呼び出し元にデータを送り返します。 「return」が実行されると、関数はただちに終了し、指定された値を返します。 Python では、カンマで区切られた複数の値を返すこともでき、Python はこれらの値を自動的にタプルにバンドルします。関数スコープ (関数内で作成された変数には関数の外部からアクセスできないというルール) を理解することは、バグが発生しやすい状態の突然変異を防ぐために不可欠です。

コードと実行の出力

ここでは、価格に適用される税を計算する単純な関数を示し、パラメーターと戻り値を示します。

def calculate_total(price, tax_rate=0.08):
    """
    Calculates the final price after applying tax.
    """
    tax_amount = price * tax_rate
    total = price + tax_amount
    return total

print(calculate_total(100.00))
print(calculate_total(50.00, tax_rate=0.10))
端子出力
108.0
55.0

段階的な実装

  • 複雑な数式のカプセル化
  • UI ロジックをバックエンド ビジネス ロジックから分離する
  • チームコラボレーションのためのユーティリティモジュールの作成

よくある質問

デフォルト引数とは何ですか?

デフォルトの引数は、関数呼び出し中に引数が指定されなかった場合に使用される値です。

関数は複数の値を返すことができますか?

はい、Python では、カンマで区切ることで関数が複数の値を返すことができます。内部では、これはタプルを返します。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。