Seite 1 von 1
optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 10:49
von klaus1234
Hi
ich schreibe gerade eine Steuersoftware für eine Motor Steuerung. Ich habe verschiedene Befehle/Konstanten. Wie mache ich das am besten damit PEP 8 mir keien Fehler hinwirft? Oder was ist die beste Lösung?
class MotorDriver:
turn_right_one_step = 1
turn_left_one_step = 2
turn_left_continous = 3
turn_right_continous = 4
turn_speed = 5
...
turn_get_degree
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 10:59
von Bl3nder
Ich weiß nicht genau was du zum Programmieren benutzt.
Jedoch :
Code: Alles auswählen
class MotorDriver:
turn_right_one_step = 1
turn_left_one_step = 2
turn_left_continous = 3
turn_right_continous = 4
turn_speed = 5
muss es erstmal eingerückt werden und dann kommt es drauf an in Pycharm zeigt er mir Grün unterstrichen Wörter an die er einfach nicht kennt ( wenn das Wörter sind die man öfter benutzt kannst du rechtsklick drauf machen und to dictonary dann geht das weg jedoch sollte man KONSTANTEN immer groß schreiben
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 11:10
von einfachTobi
Konstanten werden gem. PEP8 KOMPLETT_GROSS geschrieben.
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 11:20
von klaus1234
PEP 8 meckert dass eine __init__ Methode fehlt. Was mache ich da?
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 11:26
von Sirius3
Wenn Du kein __init__ hast, dann hast Du keine Klasse, sondern ein Enum.
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 11:27
von Bl3nder
Ich weiß nicht was du vor hast ab das wäre eventuell eine möglichkeit :
Code: Alles auswählen
class MotorDriver:
def __init__(self):
pass
def turn_right_one_step(self):
pass
def turn_left_one_step(self):
pass
def turn_left_continous(self):
pass
def turn_right_continous(self):
pass
def turn_speed(self):
pass
motor_steuern = MotorDriver()
motor_steuern."hier kannst du dann auf die Funktionen zugreifen"
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 11:57
von __blackjack__
@klaus1234: Wenn eine `__init__()` fehlt dann schreib eine. Ich meine irgendwie wird man doch einen `MotorDriver` initialisieren müssen‽
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 16:43
von klaus1234
@__blackjack__
ich habe alle meine Befehle in eine einzelne Klasse geoackt. Die Klasse hat nur Konstanten.
Oder ist das an sich schon falsch?
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 17:02
von Sirius3
Welche Befehle? Zeig doch mal Deinen kompletten Code.
Re: optimaler weg um constanten zu gruppieren?
Verfasst: Mittwoch 10. Februar 2021, 17:18
von __blackjack__
@klaus1234: Wenn Du eine Klasse hast die nur Konstanten hat, dann wurde ja Enum schon erwähnt, also schau Dir mal das `enum`-Modul an.
Dann wäre der Name `MotorDriver` irreführend, denn da würde man einen Treiber erwarten, also etwas das Code enthält um irgendein Gerät anzusteuern, und nicht nur Konstanten.