Sirius3 hat geschrieben:Sophus hat geschrieben:Aber letztendlich kann man für das Argument jedes beliebige Wort verwenden, da kommt es nicht auf "prompt" an.
Eben nicht. In der ursprünglichen Version von mutetella hatte das Wort "prompt" eine ganz bestimmte Bedeutung, so dass jeder, der mit diesem Begriff vertraut ist und nur die Parameterdefinition von float_input liest, weiß, was er als Argument übergeben muß und was damit passiert. In Deiner Version von float_input widersprach sich der Name des Arguments mit dem, was dann tatsächlich in der Funktion damit gemacht wurde. Das sorgt für ebenso große Verwirrung, wie im ersten Fall die Namensgebung für Klarheit gesorgt hat. Ich kann zwar alles Currywurst nennen, aber dann ist die Currywurst einer Currywurst nicht mehr zu vercurrywursten.
Code: Alles auswählen
def zeichen_umwandeln(str_zahlen):
zeichen_ersetzt = [float(eintraege.replace(',', '.')) for eintraege in str_zahlen]
return zeichen_ersetzt
Jetzt lese ich mal meine Version. Ich sehe eine Funktion, die
zeichen_umwandeln heißt. Ich weiß also schon mal, dass hier Zeichen umgewandelt werden. Welche Zeichen das sind, ist für mich erst einmal unwichtig. Ich sehe im Argument/Parameter, das dort ein String in Form von Zahlen übergeben wird. Gut, ich soll diese Notation
str nicht mehr benutzen. Nun sehe ich das Objekt
zeichen_ersetzt. Ich weiß also, dass hier Zeichen nach dem Durchlauf ersetzt wurden, und die Zahlen, mit den ersetzten Zeichen in der Variable
zeichen_ersetzt gespeichert sind. Innerhalb von
zeichen_ersetzt sehe ich, dass
eintraege eingelesen werden, und bestimmte Zeichen ersetzt werden. Das verrät mir replace. Einträge findet man oftmals in Form von Listen. Die
eintraege werden durch die For-Schleife geschickt. Es werden also so viele und solange
eintraege eingelesen, bis die For-Schleife fertig ist. Und die ersetzten Zeichen werden am Ende zurückgegeben und die Funktion ist fertig.
Was die Notation
str betrifft: Ich verstehe nicht, was daran "falsch" sei? Ich komme aus der kompilierten Sprachen-Welt, also aus VB6. Dort wird einem von Grund auf beigebracht, dass man Variablen zu einem bestimmten Typ zu deklarieren hat (typesafe). Das heißt, mir muss im Vorfeld klar sein, was ich mit dieser Variable anstellen will. Soll die Variable als Integer, String, Single, Long etc. fungieren? Wenn ich mir nicht sicher bin, wird die Variable zu Variant deklariert. Da kann man dann so ziemlich alles reinspeichern. Vor diesem Hintergrund weiß ich also, was ich mit meiner Variable in Python anstellen will. Wieso ist es also "verwerflich" die Notation
str voranzustellen? Sicher, wenn man hinterher alles umstellen muss, weil man die Variable anders benutzen will. Dann muss man sich eben im Vorfeld sicher sein, was man will. So ist es auch in VB6. Ich kann am Ende meines Projektes nicht sagen "Oh, Variable X möchte ich doch nicht mehr als String, sondern als Integer". Da wird man eben dazu angehalten durchdachter zu programmieren, damit man gar nicht erst in diese Verlegenheit kommt.
Ich brauche also kein "prompt" worauf sich hier viele festhalten, als sei das ein ultimatives Schlagwort schlechthin, wie das Symbol eines Herzens, das für Liebe/Frieden steht
Ich will mich nicht stur stellen, nur wird mir nicht klar, was meine Version so verwirrend sein kann?