Re: Neuling in Python
Verfasst: Freitag 6. November 2015, 18:27
@NoPy: Wenn man sich an den Style Guide for Python Code halten würde bräuchte man nicht diese sinnfreien und deshalb in meinen Augen echt gruseligen `Mein*`-Präfixe bei den Namen. Das ist doch auch ziemlich willkürlich, denn warum heisst es `Teams` und nicht `MeineTeams`‽
Bei `Teams` wird der Datentyp Tupel ”falsch” verwendet. Das sollte eine Liste von Teams sein, denn jedes Element hat die gleiche Bedeutung: ein Team. Im Gegensatz zu den Tupeln für die einzelnen Teams wo die einzelnen Elemente unterschiedliche Bedeutungen haben (Teamname, Kurzname). An der Stelle hätte man dann auch schon das bereits erwähnte `collections.namedtuple` verwenden können um nicht mit ”magischen” Indexzugriffen hantieren zu müssen die den Code schwerer lesbar und änderbar machen. Oder gleich eine eigene Klasse für ein Team, denn einem Team werden ja noch mehr Attribute zugeordnet, beispielsweise die Punkte und Tore.
Was `SpielMatrix`, `Spieltage`, `Tabelle` jetzt konkret enthalten und ob man wirklich alle drei braucht ist aus dem Code nicht wirklich ablesbar.
Beim `Ergebnis` würde ich konkretere Objekte erwarten als Zeichenketten, also `Team`-Exemplare und mindestens ein Tupel für die Tore, denn diese Zeichenkette enthält *zwei* Werte die *Zahlen* sind.
@kodela: Das hatten wir in diesem Thema doch schon mal: Wenn jemand im Python-Forum fragt wie man so etwas in Python macht, dann wäre es komisch zu sagen gar nicht, nimm was anderes. Zumindest nicht wenn Python ein passendes Werkzeug ist, und das ist es hier IMHO eindeutig. Entweder der OP will Python lernen und das damit umsetzen oder nicht, dann sollte er aber irgendwie auch nicht hier fragen weil das dann die falsche Adresse ist.
Bei `Teams` wird der Datentyp Tupel ”falsch” verwendet. Das sollte eine Liste von Teams sein, denn jedes Element hat die gleiche Bedeutung: ein Team. Im Gegensatz zu den Tupeln für die einzelnen Teams wo die einzelnen Elemente unterschiedliche Bedeutungen haben (Teamname, Kurzname). An der Stelle hätte man dann auch schon das bereits erwähnte `collections.namedtuple` verwenden können um nicht mit ”magischen” Indexzugriffen hantieren zu müssen die den Code schwerer lesbar und änderbar machen. Oder gleich eine eigene Klasse für ein Team, denn einem Team werden ja noch mehr Attribute zugeordnet, beispielsweise die Punkte und Tore.
Was `SpielMatrix`, `Spieltage`, `Tabelle` jetzt konkret enthalten und ob man wirklich alle drei braucht ist aus dem Code nicht wirklich ablesbar.
Beim `Ergebnis` würde ich konkretere Objekte erwarten als Zeichenketten, also `Team`-Exemplare und mindestens ein Tupel für die Tore, denn diese Zeichenkette enthält *zwei* Werte die *Zahlen* sind.
@kodela: Das hatten wir in diesem Thema doch schon mal: Wenn jemand im Python-Forum fragt wie man so etwas in Python macht, dann wäre es komisch zu sagen gar nicht, nimm was anderes. Zumindest nicht wenn Python ein passendes Werkzeug ist, und das ist es hier IMHO eindeutig. Entweder der OP will Python lernen und das damit umsetzen oder nicht, dann sollte er aber irgendwie auch nicht hier fragen weil das dann die falsche Adresse ist.