ホームページ >バックエンド開発 >Python チュートリアル >ゲッターとセッターを Python で実装するにはどうすればよいですか?

ゲッターとセッターを Python で実装するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 17:46:11829ブラウズ

How Can I Pythonically Implement Getters and Setters?

ゲッターとセッターを使用する Python の方法とは何ですか?

ゲッターとセッターを使用すると、Python でプライベート属性へのアクセスを制御する便利な方法が提供されます。一般的に使用されるアプローチの一部を次に示します。

メソッドベースのアプローチ:

次に示すように、ゲッター メソッドとセッター メソッドを個別に作成できます。

def set_property(property, value):  
def get_property(property): 

ただし、このアプローチはあまり Python 的とは見なされません。より好ましい方法は次の使用です:

オブジェクト属性の操作:

ドット表記を使用してオブジェクト属性に値を直接割り当てることができます:

object.property = value  
value = object.property

このアプローチは使いやすく理解しやすいですが、属性のカプセル化や制御は提供されませんaccess.

Python プロパティ:

ゲッターとセッターを実装する最も Python らしい方法は、プロパティを使用することです。これにより、ゲッター、セッター、デリーター メソッドを 1 行のコードで定義できます:

class C(object):
    @property
    def x(self):
        """I'm the 'x' property."""
        print("getter of x called")
        return self._x

    @x.setter
    def x(self, value):
        print("setter of x called")
        self._x = value

    @x.deleter
    def x(self):
        print("deleter of x called")
        del self._x

c = C()
c.x = 'foo'  # setter called
foo = c.x    # getter called
del c.x      # deleter called

以上がゲッターとセッターを Python で実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。