class TemperatureHumidity: class Temperature: def __init__(self): self.value = None self.count = 0 def print(self): print("Temperature:", self.value, self.count) class Humidity: def __init__(self): self.value = None self.count = 0 def print(self): print("Humidity:", self.value, self.count) def __init__(self): self.t = self.Temperature() self.h = self.Humidity() def print(self): self.t.print() self.h.print() def increment_count(self, _obj): _obj.count += 1 if __name__ == "__main__": t_h = TemperatureHumidity() t_h.t.print() t_h.h.print() t_h.increment_count(t_h.t) t_h.t.print() t_h.h.print()
継承するときはselfはいらない
以下のコードはTemperatureクラスがDataクラスを継承していますが、self.Dataと書いてはいけません。
class TemperatureHumidity: class Data: def __init__(self): self.value = None self.count = 0 class Temperature(Data): def __init__(self): super().__init__() def print(self): print("Temperature:", self.value, self.count) class Humidity(Data): def __init__(self): super().__init__() def print(self): print("Humidity:", self.value, self.count) def __init__(self): self.t = self.Temperature() self.h = self.Humidity() def print(self): self.t.print() self.h.print() def increment_count(self, _obj): _obj.count += 1 if __name__ == "__main__": t_h = TemperatureHumidity() t_h.t.print() t_h.h.print() t_h.increment_count(t_h.t) t_h.t.print() t_h.h.print()