'da söz konusu sınıfın içinde bir sınıfın statik örneklerini oluşturun Burada terminolojiyi yanlış anlamış olursam özür dilerim - bu özel deyimin ne olacağını düşünemiyorum.Python
Kendisinin içinde kendi örneklerini statik olarak bildiren bir Python 3 sınıfı oluşturmaya çalışıyorum — enum gibi çalışırdı. İşte yazdım kod basitleştirilmiş versiyonu:
class Test:
A = Test("A")
B = Test("B")
def __init__(self, value):
self.value = value
def __str__(self):
return "Test: " + self.value
print(str(Test.A))
print(str(Test.B))
bu Yazma, ben çizgi 2 (A = Test("A")
) üzerinde bir istisna var. Eğer bu kadar ileri gitmiş olsaydı hat 3'ün de hata yapacağını düşünürdüm. Test
yerine __class__
kullanılması aynı hatayı verir.
Geçerli sınıfa statik bir bağlamda Python'da başvurmanın bir yolu var mı? Bu değişkenleri sınıfın dışında ya da ayrı bir sınıfta ilan edebilirim, fakat açıklık için, yardımcı olabilirmemi tercih ederim.
public class Test {
private static final Test A = new Test("A");
private static final Test B = new Test("B");
private final String value;
public Test(String value) {
this.value = value;
}
public String toString() {
return "Test: " + value;
}
public static void main(String[] args) {
System.out.println(A);
System.out.println(B);
}
}
Bu beklediğiniz gibi çalışır:
daha iyi yapmaya çalıştığım şey bu göstermek için burada Java aynı örnek o yazdırır:
Test: A
Test: B
nasıl yapabilirim Python'da aynı şey?
Test.A = Test("A")
Test.B = Test("B")
Python A sınıfı da diğerleri gibi bir nesnedir ve herhangi bir zamanda yeni değişkenler ekleyebilirsiniz: Sınıfa tanımlı sonra
inanıyoruz. Yardımlarınız için çok teşekkürler. –