Sirius3 hat geschrieben: ↑Dienstag 1. Dezember 2020, 15:12
Und das geht eben erst ab Python3.9, daher meine Frage, welche Pythonversion Du benutzt.
Typeprüfungen sind so gut wie nie nötig, es sei denn, die Schnittstelle ist nicht sauber definiert, und oder erlaubt viele verschiedene Varianten, statt verschiedener Methoden.
Die Typprüfung ist zur Sicherheit. Es geht am Ende um einen 6 Achsen Roboterarm. Bei einem Solchen kann man die Position in mehreren verschiedenen Varianten angeben. Zum einen Als Winkel für die einzelnen Achsen oder als Position des Kopfes. Leider sind beides eine Ansammlung von 6 Werten. Damit man diese nicht einfach so verwechseln kann habe ich eben Typen dafür gebaut (im Grunde Dataclasses) und will diese natürlich auch nicht verwechselt haben.
Am Anfang waren alles einfach tuple (winkel_achse_1,winkel_achse_2,winkel_achse_3,winkel_achse_4,winkel_achse_5,winkel_achse_6) und (position_x,position_y,position_z,rotation_x,rotation_y,rotation_z)
Wenn man die irgend wo am Anfang deklariert und falsch übergibt, kann beträchtlicher Schaden am Robot entstehen. Deswegen die Typprüfung, damit der Anwender einen Fehler weniger machen kann.
Grüße.
PS: wie schon im anderen geschrieben. Mein Problem ist geklärt.