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

如何用 Python 實作 Getter 和 Setter?

Susan Sarandon
發布: 2024-12-14 17:46:11
原創
827 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板