在 Python 中,類是面向對象編程的基本構建塊。類定義了對象的行為和屬性,也可以使用修飾符來限制對這些行為和屬性的訪問。
class Demo: def __init__(self, data): self.__data = data @property def data(self): return self.__data @data.setter def data(self, val): self.__data = val def __repr__(self): return f"Demo({self.__data})" demo = Demo("test") print(demo.data) # "test" demo.data = "new_test" print(demo.data) # "new_test" print(demo.__data) # AttributeError
在上面的代碼示例中,我們創建了一個名為 Demo 的類。這個類包含私有屬性 __data,為了不讓其它代碼直接訪問到這個屬性,我們使用了雙下劃線來進行修飾。
在類定義中,我們添加了一個名為 data 的屬性。這個屬性只有 getter 方法,所以外部只能通過 demo.data 的方式來讀取 __data 屬性的值。我們還添加了一個 setter 方法,這樣外部代碼就能夠使用 demo.data = "new_test" 的方式來修改 __data 屬性的值。
我們還實現了一個 __repr__ 方法,這個方法用于返回類實例的字符串表示,這樣我們就能夠方便地打印出 demo 實例的值。
當我們運行這個腳本時,我們會發現當我們試圖直接訪問 demo.__data 屬性時,會拋出 AttributeError 異常。
修飾符可以很好地約束類的屬性和方法的訪問范圍,使得我們可以更好地控制類的使用。在設計類時,我們可以根據需要添加各種修飾符來控制類的行為和屬性,使得代碼更加安全和靈活。
上一篇python 類 類對象
下一篇python 漢諾塔算法