__getattribute__’yi sonsuz bir özyineleme hatası olmadan nasıl uygularım?

| |

Sınıftaki bir değişkene erişimi geçersiz kılmak, ancak diğerlerini normal şekilde döndürmek istiyorum. Bunu __getattribute__ ile nasıl başarabilirim?

Aşağıdakileri denedim (bu aynı zamanda ne yapmaya çalıştığımı da göstermelidir) ancak bir özyineleme hatası alıyorum:

class D(nesne): def __init__(self): self.test=20 self.test2=21 def __getattribute__(self,name): if name=="test": 0 döndür. başka: dönüş self.__dict__[name] >>> print D().test 0.0 >>> print D().test2 ... RuntimeError: cmp cinsinden maksimum özyineleme derinliği aşıldı