ist es zwingend notwendig als Anfänger elegant zu sein?
Ich programmiere seit 2 Monaten
Python listen
Man sollte mit der Programmiersprache programmieren und nicht gegen sie.Mr.White hat geschrieben:ist es zwingend notwendig als Anfänger elegant zu sein?
Natürlich schreibt man zu Anfang Code der einem selbst, wenn man ihn später noch einmal anschaut, entsetzlich vorkommt. Geht man mit diesem Code an die Öffentlichkeit, so gibt es entsprechende Reaktionen. Hier im Forum bekommst du allerdings normalerweise extrem gute Tipps, wie du deinen Code verbessern kannst. Bitte sei dir darüber im Klaren, dass Kritik am Code nicht Kritik gegen dich persönlich ist. Wenn jemand fragt "Warum hast du das auf diese Art und Weise gelöst?", dann ist das die Aufforderung noch einmal über den eigenen Code nachzudenken. Man lernt einfach besser, wenn man sich selber Gedanken macht als wenn einem einfach nur fertiger Code für das bestehende Problem hingeknallt wird.
Ich erwarte von niemandem der erst ein paar Monate programmiert, dass er superelegante Lösungen schreibt. Ich erwarte allerdings, dass er bereit ist Kritik am Code anzunehmen und selber noch einmal darüber nachdenkt.
Von daher: ich habe absoluten Respekt davor, dass du deinen Code hier präsentierst im Wissen, dass er vermutlich zerpflückt wird. Aber das ist genau der richtige Weg. Daraus lernst du. Mach weiter so.
@Mr.White: Klassen sollte man erst dann einsetzen, wenn Funktion zu umständlich werden. Das heißt: Wenn mehrere Funktionen auf ähnlichen Parametern arbeiten oder wenn an vielen Stellen im Code Argumente zwischen den einzelnen Funktionen hin- und hergereicht werden, dann kann man anfangen, über Klassen nachzudenken. Dann sollte man aber auch unbedingt wissen, wie man Instanzvariablen (Stichwort: ``self``) sinnvoll einsetzt, damit die Klasse auch tatsächlich einen Mehrwert darstellt.
Für den Anfang würde ich aber an deiner Stelle lediglich Funktionen einsetzen. Lerne doch erstmal Python und Programmierung an sich besser kennen. Der Objektorientierung kannst du dich später dann immer noch ausgiebig widmen. Keinesfalls solltest du glauben, dass Code mit Objektorientierung grundsätzlich einer funktionsbasierten Lösung überlegen ist. Und wenn ein Buch für Python-Anfänger diesen Eindruck vermittelt, dann sollte man IMHO sogar das Buch hinterfragen. Man kann ja auch durchaus mit 1-2 ähnlichen Büchern von anderen Autoren vergleichen, wie das Anfängerwissen dort vermittelt wird.
Für den Anfang würde ich aber an deiner Stelle lediglich Funktionen einsetzen. Lerne doch erstmal Python und Programmierung an sich besser kennen. Der Objektorientierung kannst du dich später dann immer noch ausgiebig widmen. Keinesfalls solltest du glauben, dass Code mit Objektorientierung grundsätzlich einer funktionsbasierten Lösung überlegen ist. Und wenn ein Buch für Python-Anfänger diesen Eindruck vermittelt, dann sollte man IMHO sogar das Buch hinterfragen. Man kann ja auch durchaus mit 1-2 ähnlichen Büchern von anderen Autoren vergleichen, wie das Anfängerwissen dort vermittelt wird.