Python のコンストラクター

WBOY
リリース: 2023-09-02 16:29:20
転載
2186 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!