目錄
Python @property – 用於將方法轉換為屬性
Python 的 @property 是一個很有用的功能,它可以將方法轉換為屬性,使得程式碼更加簡潔、易讀。這個功能也可以用來做許多有趣的事情,例如:在屬性被設定時做某些事情,或是在屬性被取用時做某些事情。
@property 的用法很簡單,只要在定義方法時加上 @property 就可以將方法轉換為屬性。例如:
class MyClass: def __init__(self, value): self._value = value @property def value(self): return self._value my_object = MyClass(42) print(my_object.value) # 42
在上面的程式碼中,我們定義了一個名為 MyClass 的類別,並且定義了一個名為 value 的方法,並且加上了 @property 來將方法轉換為屬性。我們可以透過 my_object.value 來取得 value 的值,而不需要使用 my_object.value() 來取得值。
@property 還可以用來做許多有趣的事情,例如:在屬性被設定時做某些事情,或是在屬性被取用時做某些事情。例如:
class MyClass: def __init__(self, value): self._value = value @property def value(self): return self._value @value.setter def value(self, value): self._value = value print("Value has been set to {}".format(value)) my_object = MyClass(42) my_object.value = 43 # Value has been set to 43
在上面的程式碼中,我們定義了一個名為 MyClass 的類別,並且定義了一個名為 value 的方法,並且加上了 @property 來將方法轉換為屬性。我們還定義了一個 @value.setter 來做在屬性被設定時的動作,在這個例子中,我們在屬性被設定時印出一個訊息。
總結來說,Python 的 @property 是一個很有用的功能,它可以將方法轉換為屬性,使得程式碼更加簡潔、易讀,並且還可以用來做許多有趣的事情,例如:在屬性被設定時做某些事情,或是在屬性被取用時做某些事情。