首頁 >後端開發 >Python教學 >如何用 Python 實作 Getter 和 Setter?

如何用 Python 實作 Getter 和 Setter?

Susan Sarandon
Susan Sarandon原創
2024-12-14 17:46:11834瀏覽

How Can I Pythonically Implement Getters and Setters?

使用 getter 和 setter 的 Python 方式是什麼?

使用 getter 和 setter 提供了一種在 Python 中控制對私有屬性的存取的便捷方法。以下是一些常用的方法:

基於方法的方法:

您可以建立單獨的getter 和setter 方法,如下:

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

然而,這種方法並不被認為是非常Pythonic 的。更優選的方法是使用:

物件屬性運算:

您可以使用點符號直接為物件屬性賦值:

object.property = value  
value = object.property

這種方法易於使用和理解,但它沒有提供任何對屬性的封裝或控制

Python 屬性:

實現getter 和setter 的最Python 方式是使用屬性。這允許您在一行程式碼中定義 getter、setter 和 deleter 方法:

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 實作 Getter 和 Setter?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn