1
要定義一個屬性,我們可以使用成語來定義一個類屬性
class MyClass(object):
def __init__(f):
self._f = f
def custom_function(self):
self._f += 1
@property
def f(self):
return self._f
這樣
>>x = MyClass(1)
>>print(x.f) # prints 2
有定義接口
>>MyClass.f # <- calls custom classmethod
任何標準的方法
?即一個「@classproperty
」。
我知道@classmethod
但我不希望界面有呼叫()
。
密切相關:[實現保留文檔字符串的類屬性](http://stackoverflow.com/q/22357961),還有[Python,@property裝飾器如何工作?](http:// stackoverflow .com/q/17330160)(關於財產如何解決的細節)。 –
您的選擇是在* metaclass *上的方法上使用常規的'@ property',或者創建一個自定義描述符來處理類的訪問。 –
@MartijnPieters,元@上的@屬性!而已! –