我有自定义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方法。 –