我知道我可以使用描述符來改變靜態屬性,就好像它是一個正常的屬性。但是,當我嘗試使用正常類屬性的描述符時,我最終更改了它引用的對象,而不是對象中的值。如何使用非靜態方法的描述符?
如果我有
正常使用,考慮到法(PARAM)返回一個對象
class SomeClass():
property = method(param)
那麼我可以這樣做:
instance = SomeClass()
instance.property = 3
,並能夠有一個設置由哪個屬性的類處理。現在
,如果我不是有
class SomeClass():
def__init__(self):
self.property = method(param)
和我做的:
instance = SomeClass()
instance.property = 3
代碼不工作,我改寫爲3提及的方法(PARAM)創建的對象而不是由描述符處理該設置。
有沒有一種方法可以在沒有靜態方法的情況下使用描述符?實質上,我需要能夠創建該類的多個實例,每個實例都具有可以使用方便的描述符方法更改的自己的獨特屬性。那可能嗎?
Python版本:2.7
謝謝!
基本上,我使用硒和頁面對象來建模一個頁面。頁面對象模塊是第三方的,並使用具有靜態屬性的描述符(頁面元素作爲描述符,用戶可以使用'='運算符將文本插入到文本框中)。但是我需要能夠同時實例化多個頁面對象(2個瀏覽器瀏覽同一頁面),每個頁面都有自己的構成頁面元素的實例。所以我需要做出調整,以便利用已經構建的模塊。 謝謝,我今天晚些時候會試試你的代碼 –