1
Alt sınıftaki bir sözlüğe bir üst sınıf değişkenine erişme konusunda sorun yaşıyorum.Sözlük alt sınıfına üst sınıf değişkenini ekleyin ve okunan değeri
class SetStuff:
def __init__(self):
self.temperature = 0.0
def set_temp(self, temp):
self.temperature = temp
class DoStuff(SetStuff):
def __init__(self):
super().__init__()
self.info_dict = {"temp": {"current_temp": self.temperature}}
def print_stuff(self):
print("temp_var:", self.temperature)
print("dict:", self.info_dict)
test_stuff = DoStuff()
test_stuff.set_temp(12.1)
test_stuff.print_stuff()
son çağrının sonucudur:
temp_var: 12.1
dict: {'temp': {'current_temp': 0.0}}
Ben baskılı sözlüğü 12.1 içermesi bekleniyor Oysa Aşağıdaki kod basitleştirilmiş bir örnektir. Burada olanları ve bunu nasıl düzeltebileceğimi anlayamıyorum.
Herhangi bir yardım büyük memnuniyetle karşılanacaktır.
Teşekkür başlangıç değere ayarlanmış ediliyor çünkü
__init__
böylece self.temperature değericurrent_temp
için gerçekten sıfır olduğu öyle mantıklı. Söz konusu değişkeni güncel değerine güncellemenin bir yolu var mı? –'self.info_dict ['temp'] ['current_temp'] = self.temperature' işlevini kullanabilirsiniz, ancak bu değere ihtiyacınız varsa, yalnızca niteliği arayabilirsiniz. Burada bir "dict" ın neden yararlı olacağı belli değil. Sadece değeri çağırmanız gerekiyorsa, bunun için biraz gereksizdir. Hatta eğer gerçekten istediysen 'self.temperature' yerine 'self .__ dict __ [' temperature ']' dizinini bile dizine ekleyebilirsiniz. – Pythonista