この記事では、主に Python の関数とメソッドの違いをいくつかの側面から紹介します。
はじめに、分類の観点から分析してみましょう。
(1) 関数の分類:
組み込み関数: Python に組み込まれている関数の一部。匿名関数: 1 行のコードで関数を実装します。再帰関数カスタム関数: 独自のニーズに応じて関数を定義します。
(2) メソッドの分類:
通常のメソッド: self で直接呼び出されるメソッド。プライベートメソッド: __関数名、クラス内でのみ呼び出すことができるメソッド。プロパティ メソッド: @property。コードをより合理的に見せるために、メソッドをプロパティとして偽装します。特別なメソッド (二重下線メソッド): __init__ を例に挙げると、インスタンス化されたオブジェクトの属性をカプセル化するために使用されます。オブジェクトがインスタンス化されている限り、__init メソッドが実行されます。オブジェクトのサブクラスが存在しない場合、親クラス(スーパークラス)が検索されます。親クラス(スーパークラス)がない場合は、オブジェクト(Python 3.x)クラスを直接継承し、クラス内の __init__ メソッドを実行します。クラスメソッド: クラス名を呼び出して、公開テンプレート内のプロパティとメソッドを操作します。静的メソッド: クラス空間やオブジェクト メソッドを渡す必要はありません。コードの一貫性と標準化を保証する機能です。クラス外で完全に独立したメソッドにすることもできますが、コードの一貫性のために、は、あるモジュール(pyファイル)の途中に一律に配置されます。
関連する推奨事項: 「Python ビデオ チュートリアル 」
2 番目に、範囲の観点から分析します:
(1 )関数スコープ: 関数呼び出しの開始から関数の実行が完了するまで、呼び出し元に戻った後、実行処理中に開いた領域は自動的に解放されます。つまり、関数の実行が完了すると、変数は代入などにより関数本体内で変更されます。変数は保持されず、開いた領域は呼び出し元に返された後に自動的に解放されます。
(2) メソッドのスコープ: インスタンス化されたオブジェクトを通じてメソッドが呼び出された場合、呼び出し後に開かれたスペースは解放されません。つまり、呼び出したメソッド内の変数の変更された値は常に保持されます。 。
最後に、呼び出し方法が異なります。
(1) 関数:「関数名()」を通じて呼び出されます。
(2) メソッド: 「オブジェクト.メソッド名」を通じて呼び出されます。
rree以上がPythonのメソッドと関数の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。