共計 637 個字符,預計需要花費 2 分鐘才能閱讀完成。
在 Python 中,property
函數(shù)是一個內(nèi)置函數(shù),用于創(chuàng)建可讀寫的屬性。property
函數(shù)可以用作裝飾器,將一個方法轉(zhuǎn)換為相應的可讀寫屬性。它接受四個參數(shù):fget
、fset
、fdel
和doc
。
fget
:獲取屬性值的函數(shù)。它將在訪問屬性時被調(diào)用。fset
:設置屬性值的函數(shù)。它將在給屬性賦值時被調(diào)用。fdel
:刪除屬性值的函數(shù)。它將在使用del
關(guān)鍵字刪除屬性時被調(diào)用。doc
:屬性的文檔字符串。
以下是 property
函數(shù)的基本用法示例:
class MyClass:
def __init__(self):
self._x = 0
# 定義可讀寫的屬性 x
@property
def x(self):
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
# 創(chuàng)建實例
obj = MyClass()
# 訪問屬性
print(obj.x) # 輸出: 0
# 設置屬性
obj.x = 10
# 再次訪問屬性
print(obj.x) # 輸出: 10
# 刪除屬性
del obj.x
# 再次訪問屬性
print(obj.x) # 拋出 AttributeError: 'MyClass' object has no attribute '_x'
在上面的示例中,通過 @property
裝飾器將 x
方法轉(zhuǎn)換為可讀寫的屬性。@x.setter
裝飾器定義了設置屬性值的方法,@x.deleter
裝飾器定義了刪除屬性值的方法。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完