請看下面的例子:Python:如何將多個參數傳遞給屬性getter?
class A:
@property
def x(self): return 5
所以,當然調用a = A(); a.x
將返回5
但是想象一下,你希望能夠修改屬性x。
這種方式,例如:
class A:
@property
def x(self, neg = False): return 5 if not neg else -5
而且隨着a = A(); a.x(neg=True)
這將引發TypeError調用它:'int' object is not callable
,這是很正常的,因爲我們的x
作爲5
評估。
所以,我想知道如何將更多的參數傳遞給屬性獲取器,如果可能的話。
我知道!你可以在我的第一個例子中看到'a.x'調用。 – Rizo 2011-04-19 11:31:22
@Rizo:屬性不是爲此設計的。 – XORcist 2011-04-19 11:46:57