ホームページ > バックエンド開発 > Python チュートリアル > Python のアクセサー メソッドと修飾子メソッド

Python のアクセサー メソッドと修飾子メソッド

WBOY
リリース: 2023-08-20 17:33:28
転載
1067 人が閲覧しました

Python のアクセサー メソッドと修飾子メソッド

Python では、アクセサー メソッドと修飾子メソッドを使用して、クラスの外部からアクセスできないクラスのプライベート データにアクセスします。オブジェクト指向プログラミングでは、クラス オブジェクトのデータはカプセル化されます。つまり、オブジェクト データはプライベート データとして保持され、オブジェクトの外部からアクセスすることはできません。 Python のアクセサー メソッドと修飾子メソッドを使用して、このプライベート データへのアクセスを提供します。これらのメソッドは、Python ではゲッター メソッドおよびセッター メソッドとも呼ばれます。この記事では、アクセサー メソッドと修飾子メソッドを例を挙げて理解します。

アクセサーメソッド

Accessor メソッドは、オブジェクト データにアクセスするために使用されます。オブジェクトのプライベート変数には、アクセサー メソッドを使用してアクセスできます。アクセサ メソッドはパブリック メソッドとして宣言され、オブジェクトのプライベート メンバー データを返すために使用されます。アクセサ メソッドは、オブジェクト データを取得するために使用されるため、ゲッター メソッドとも呼ばれます。

Python では、アクセサー メソッドは @property デコレーターを使用して定義されます。アクセサー メソッドが呼び出されると、オブジェクトのプライベート メンバー変数の値が返されます。

Example

の中国語訳は次のとおりです:

Example

次の例では、プライベート変数 _name を含む Person という名前のクラスを定義します。次に、Person クラスのプライベート メンバー変数 _name の値を返す name という名前のアクセサー メソッドを作成します。 person オブジェクトを作成し、name アクセサー メソッドを使用することで、_name 属性の値にアクセスできます。

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

ミューテーターメソッド

ミューテーター メソッドは、オブジェクトのプライベート データを変更するために使用されます。ミューテーター メソッドは、オブジェクトのプライベート変数の値を設定/変更するために使用されるため、セッター メソッドとも呼ばれます。ミューテーター メソッドは、オブジェクトのプライベート値を変更するプライベートとして宣言されます。変数.

Python では、ミューテーター メソッドは、特定のメソッドがセッター メソッドのように動作することを指定する @

.setter デコレーターを使用して定義されます。ミューテーター メソッドが呼び出されると、オブジェクトのプライベート変数の値が設定されます。

Example

の中国語訳は次のとおりです:

Example

次の例では、プライベート _name 変数を持つ Person クラスを定義します。また、@property デコレーターと @name.setter デコレーターをそれぞれ使用して、name という名前のアクセサー メソッドと name という名前の修飾子メソッドを定義します。関数が呼び出され、値引数が渡されると、名前修飾子メソッドによって _name 変数の値が変更されます。

リーリー ###出力### リーリー ###結論###

Accessor メソッドと modifier メソッドは、オブジェクト指向プログラミングでオブジェクトのプライベート変数へのアクセスを提供するために使用されます。これらのメソッドは、それぞれオブジェクトのプライベート変数の取得と設定/変更に使用されるため、ゲッター メソッドおよびセッター メソッドとも呼ばれます。 Python では、アクセサー メソッドと修飾子メソッドは、それぞれ @property デコレーターと @.setter デコレーターを使用して定義されます。

以上がPython のアクセサー メソッドと修飾子メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート