Dynamische Initialisierung einer Klasse
Verfasst: Dienstag 6. März 2018, 01:48
Hallo Leute,
Ich möchte gerne eine Klasse dynamisch initialisieren.
Es gibt 5 Init Variablen, nennen wir sie a,b,c,d,e von denen ich zwei auswähle aus denen ich dann jeweils die anderen 3 errechnen kann.
Ich könnte das so machen:
Aber ich müßte dann für jede der 10 möglichen Kombinationen den Formelblock neu hinschreiben.
Geht das irgendwie intelligenter?
Danke und Gruß
brave
Ich möchte gerne eine Klasse dynamisch initialisieren.
Es gibt 5 Init Variablen, nennen wir sie a,b,c,d,e von denen ich zwei auswähle aus denen ich dann jeweils die anderen 3 errechnen kann.
Ich könnte das so machen:
Code: Alles auswählen
class Dynamic:
def __init__(self, a=None, b=None, c=None, d=None, e=None):
# Wenn a, b gegeben ..
self.a = a
self.b = b
self.c = (self.e*self.a)**0.5
self.d = self.a/self.c
self.e = self.c**2/self.a
# Wenn c, d gegeben ...
self.a = const*self.b/const
self.b = self.a*const
self.c = c
self.d = d
self.e = c**2/self.a
# Wenn e, a gegeben ...
self.a = a
self.b = a*const
self.c = (e*a)**0.5
self.d = a/self.c
self.e = e
...
if __name__ == '__main__':
obj1 = Dynamic(a, b)
obj2 = Dynamic(c, d)
obj3 = Dynamic(e, a)
...
Geht das irgendwie intelligenter?
Danke und Gruß
brave