ホームページ  >  記事  >  バックエンド開発  >  Python のコンストラクター

Python のコンストラクター

WBOY
WBOY転載
2023-09-02 16:29:202171ブラウズ

Python のコンストラクター

Python では、すべてのクラスにコンストラクターがあります。コンストラクターは、クラス内で指定される特別なメソッドです。コンストラクター/イニシャライザーは、クラスの新しいオブジェクトが作成されるときに自動的に呼び出されます。オブジェクトが初期化されるとき、コンストラクターはクラス内のデータ メンバーに値を割り当てます。

コンストラクターを明示的に定義する必要はありません。ただし、コンストラクターを作成するには、次のルールに従う必要があります -

  • クラスの場合、コンストラクターは 1 つだけ許可されます。

  • コンストラクター名は __init__ である必要があります。

  • コンストラクターは、インスタンス プロパティを使用して定義する必要があります (最初の引数として self キーワードを指定するだけです)。

  • None 以外の値を返すことはできません。

###文法### リーリー

次の例を検討して、コンストラクターがどのように機能するかを理解してください。

リーリー ###出力### リーリー

上記のブロックでは、SampleClass() 用にオブジェクト A が作成され、このインスタンスに対してメソッド __init__(self) が自動的に実行されます。このようにして、コンストラクターステートメントが表示されます。

コンストラクターは 3 つのタイプに分類されます。

デフォルトのコンストラクター

  • パラメータ化されたコンストラクター

  • ノンパラメトリック コンストラクター

  • デフォルトのコンストラクター

  • デフォルトのコンストラクターはユーザーによって定義されません。Python 自体がプログラムのコンパイル中にコンストラクターを作成します。タスクは実行されませんが、オブジェクトが初期化されます。
###例###

Python は、コードが含まれていない空のコンストラクターを生成します。以下の例を参照してください。

リーリー ###出力### リーリー

Python の組み込み dir() 関数を使用して、クラス A のコンストラクターを確認してみましょう。

リーリー

python

dir()

この関数は、指定されたオブジェクトのすべてのプロパティとメソッドのリストを返します。上記のリストでは、オブジェクト A に対してデフォルトのコンストラクター __init__ が作成されていることがわかります。

パラメータ化されたコンストラクター

パラメータ化されたコンストラクタは、1 つ以上のパラメータと自身を受け入れます。これは、カスタム プロパティ値を含むオブジェクトを作成する場合に便利です。パラメーター化されたコンストラクターを使用すると、オブジェクトの作成時にオブジェクトのプロパティの値を指定できます。

###例###

パラメータ化されたコンストラクターを使用したクラスの例を見てみましょう リーリー ###出力### リーリー ここでは、オブジェクト Joy シリーズが、デフォルトのメンバー プロパティ値 10 を使用する代わりに、カスタム値 25 を使用して作成されています。また、値は self.members プロパティに割り当てられているため、このインスタンスで使用できます。

パラメータ化されていないコンストラクター

パラメータ化されていないコンストラクターは、self 以外のパラメータを受け入れません。インスタンス プロパティの値を操作する場合に便利です。

###例###

ノンパラメトリック コンストラクターの例を見てみましょう。

リーリー ###出力### リーリー

player1 オブジェクトは、move() メソッドを使用して「position」プロパティを操作します。そして、p2 オブジェクトは「position」プロパティのデフォルト値にアクセスします。

以上がPython のコンストラクターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。