Genel Bakış: - o
ayarlanmış tüm özelliklerini aynı, o.inner
üzerinde ayarlanması gerekir Şimdiİçiçe nesneler ve setattr & getattr (evet, öyle o zaman)
class Inner(object):
def __init__(self, x):
self.x = x
class Outer(object):
def __init__(self, z):
self.inner = Inner(z)
o = Outer(10)
, ben Dış nesne şeffaf davranmasını istiyorum Okuma: o.something
, aslında, o.inner.sommething
değerini döndürmelidir. Bir vekil veya röle gibi.
def __getattr__(self, item):
return getattr(self, item)
nasıl
__setattr__
işlemek olacaktır:
Outer
için
__getattr__
basit & eser görünüyor? Tekrarlama hatasına neden olmayan ve kendimden nefret etmeyen bir şey bulamadım.
Veya konseptin kendisi kusurlu mu? Bu gerçekten IDE olanlar içeride kaybolmak istiyorum saymıyorum, estetik mevcut @classmethods
oynamadı - -
Outer
Inner
bir alt sınıfı yapıyordu. Bazı özelliklerini çözümleyemiyorsa en bırakalım Şimdilik, belki de?)
Bunu mu demek istediniz: self.inner = Inner (z) '? Ayrıca, getattr yönteminiz Inner() 'dan veri döndürüyor mu? Yazılma şekli, sadece Outer'e gönderme yapar gibi görünüyor. – gfortune
Evet - geri dönüyor. Hem sabit, teşekkürler! – ntl0ve