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