我有自定義getter的類,所以我需要使用自定義getter的情況以及需要使用default的情況。如何知道在Python中請求哪個下一個屬性
所以考慮以下。
如果我調用對象C的方法是這樣的:
c.somePyClassProp
在這種情況下,我需要調用自定義的getter,和getter將返回int值,而不是Python對象。 但如果我呼籲這樣的方法:
c.somePyClassProp.getAttributes()
在這種情況下,我需要使用默認的二傳手,並首次返回需要是Python對象,然後我們需要調用返回Python對象的getAttributes方法(從c.somePyClassProp)。 請注意somePyClassProp實際上是另一個Python類實例的類的屬性。
那麼,有什麼方法可以在Python上知道在第一次方法調用之後是否會調用其他一些方法?
唯一可能的方式做你想做的就是讓'c.somePyClassProp'返回你想要的兩個接口的對象,聯合收割機(部分或全部)。也就是說,你需要它看起來像一個'int',但也有'getAttributes'方法。如果你需要它可以做任何不平凡的事情,它將是混亂和複雜的。你確定你不能使用不同的方法或屬性名來區分兩種用途嗎? – Blckknght
Kindall的答案似乎是最好的,但前提是你可以在所有上下文中表現爲int的對象,除了**它還支持getAttributes方法。 –