nach Iterierbarkeit fragen
Ich glaube nicht, das der BDFL das Semikolon so gut findet. Zumindest Quelltext, der in die Standardbibliothek kommen soll, sollte sich an PEP8 halten und das empfiehlt auch einzeilige "Rümpfe" eingerückt in eine neue Zeile zu schreiben.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Oh, das gutheißen von Entscheidungen hatten wir heute im IRC schon.
IMHO könnte man das Semikolon komplett loswerden, da gibt es eigentlich keine Fälle wo das Semikolon die Lesbarkeit verbessert (und kommt mit nicht mit ``cgitb``, das finde ich auch nicht gut).
IMHO könnte man das Semikolon komplett loswerden, da gibt es eigentlich keine Fälle wo das Semikolon die Lesbarkeit verbessert (und kommt mit nicht mit ``cgitb``, das finde ich auch nicht gut).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
@Leonidas: Bei Einzeilern auf der Kommandozeile ist es praktisch. Ansonsten habe ich auch noch keine Verwendung dafür gefunden.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Wir brauchen dringend ein [bikeshed=color] BBCode-Tag, das Text in der entsprechenden Farbe (und in Comic Sans!!!1) hervorhebt.lunar hat geschrieben:Eine Diskussion um das Semikolon ...
- Goswin
- User
- Beiträge: 363
- Registriert: Freitag 8. Dezember 2006, 11:47
- Wohnort: Ulm-Böfingen
- Kontaktdaten:
Natürlich hast du recht mit dem Gutheißen (zum Akzeptieren, das heißt zum Lesen, sind wir als Python-Programmierer ja gezwungen). Ich möchte aus meiner obigen Aussage nur folgern, dass die Güte der Semikolons umstritten ist, und kein Mantra daraus gemacht werden sollte. Der BDFL hat ja auch anderes abgesegnet, was mir echt Magenschmerzen bereitet.DasIch hat geschrieben:Der BDFL mag BDFL heißen aber trotzdem muss man seine Meinung nicht gutheißen noch akzeptieren.
Imho finde ich freilich, dass wir unschönen Code anderswo beanstanden sollten, zum Beispiel beim sehr häufigen
Code: Alles auswählen
a, b = c, d #gemeint ist hier (a,b) = (c,d)
Code: Alles auswählen
a; b = c; d
Strenggenommen schon, wenn es einem aber um for geht, dann muss man halt collections.Sequence nehmen. Wenn einem da jetzt noch ein Spezialfall durch die Lappen geht(ich befürchte aber dein Beispiel tut es) ist der aber wirklich undokumentiert oder die ABCs kaputt.BlackJack hat geschrieben:@helduel: Aber auch bei 2.6 erkennt man so nicht alle "iterables":
Zuletzt geändert von Darii am Dienstag 14. April 2009, 14:08, insgesamt 2-mal geändert.
Das ist aber ein tolles Feature.Goswin hat geschrieben:Natürlich hast du recht mit dem Gutheißen (zum Akzeptieren, das heißt zum Lesen, sind wir als Python-Programmierer ja gezwungen). Ich möchte aus meiner obigen Aussage nur folgern, dass die Güte der Semikolons umstritten ist, und kein Mantra daraus gemacht werden sollte. Der BDFL hat ja auch anderes abgesegnet, was mir echt Magenschmerzen bereitet.DasIch hat geschrieben:Der BDFL mag BDFL heißen aber trotzdem muss man seine Meinung nicht gutheißen noch akzeptieren.
Imho finde ich freilich, dass wir unschönen Code anderswo beanstanden sollten, zum Beispiel beim sehr häufigenwelches jeder naive Außenstehende alsCode: Alles auswählen
a, b = c, d #gemeint ist hier (a,b) = (c,d)
deuten würde (wer nicht so denkt, ist einfach nicht naiv genug )Code: Alles auswählen
a; b = c; d
Vor allem für
Code: Alles auswählen
a,b = b,a
- Goswin
- User
- Beiträge: 363
- Registriert: Freitag 8. Dezember 2006, 11:47
- Wohnort: Ulm-Böfingen
- Kontaktdaten:
Ich finde das Feature ja auch toll. Aber die Klammern rund um die Tupel sollten imho Pflicht sein; sie fortzulassen halte ich für unschön. Es geht doch auch so:audax hat geschrieben:Das ist aber ein tolles Feature. Vor allem fürCode: Alles auswählen
a,b = b,a
Code: Alles auswählen
(a,b) = (b,a)
Ich finde nicht, dass zusätzliche Klammern hier irgend einen Mehrwert bringen. Das Argument, das Außenstehende dann Python-Code besser lesen könnten zieht nicht so richtig. Wo fangen "Außenstehende" an? Programmierer aus anderen Sprachen? Nicht-Programmierer? Kinder? Hunde ^^?
Das Leben ist wie ein Tennisball.
- Goswin
- User
- Beiträge: 363
- Registriert: Freitag 8. Dezember 2006, 11:47
- Wohnort: Ulm-Böfingen
- Kontaktdaten:
Ich meinte Python-Außenstehende, also Programmierer aus anderen Sprachen (so wie ich), ausgenommen Holländer .EyDu hat geschrieben:Wo fangen "Außenstehende" an? Programmierer aus anderen Sprachen? Nicht-Programmierer? Kinder? Hunde?
DasIch hat geschrieben:Die runden Klammern haben mit Tupeln nichts zu tun. Mal abgesehen davon dass "Tuple-Unpacking" sowieso ein irreführender Begriff ist, das geht mit jedem Objekt über dass man iterieren kann.
Code: Alles auswählen
>>> type(())
<type 'tuple'>
@Goswin: jeder der das Tutorial halbwegs durchgelesen hat, dem wird schon auffallen, dass man so Tupel erzeugt. Das traue ich einem Programmierer zu. Betrachte es mal andersrum: Python gibt dir die Freiheit um Tupel Klammern setzen zu können. Und zwar so viele Ebenen wie du möchtest
Und überhaupt: es sind nur Klammern ^^
Das Leben ist wie ein Tennisball.
Meinst du nicht, dass diese Behauptung ein bisschen sehr weit hergeholt ist?Goswin hat geschrieben:Imho finde ich freilich, dass wir unschönen Code anderswo beanstanden sollten, zum Beispiel beim sehr häufigenwelches jeder naive Außenstehende alsCode: Alles auswählen
a, b = c, d #gemeint ist hier (a,b) = (c,d)
deuten würdeCode: Alles auswählen
a; b = c; d
Ob das nun unschön ist, liegt im Auge des Betrachters ... und die Betrachtungsweise eines "Außenstehenden" dürfte für Python-Programmierer kaum ein sinnvoller Maßstab sein. Schließlich nutzen Python-Programmierer gemeinhin auch einfache Funktionen, obwohl ein "naiver, außenstehender" Java-Programmierer damit auch nichts anzufangen weiß.