Guido van Rossum macht vorerst Feierabend

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Benutzeravatar
__blackjack__
User
Beiträge: 796
Registriert: Samstag 2. Juni 2018, 10:21

Donnerstag 19. Juli 2018, 08:50

Ah ja, der „existential operator“ aus CoffeeScript: ``zip = lottery.drawWinner?().address?.zipcode``. Hm, wie schwer kann es ein ein PEP zu schreiben… :-D
Global warming is caused by the sun.
Benutzeravatar
snafu
User
Beiträge: 5466
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Donnerstag 19. Juli 2018, 09:59

Mit genug Hirnschmalz, temporären Listen und einigen Verrenkungen geht alles irgendwie. Bequemer ist es aus meiner Sicht jedoch mit der neuen Syntax. Aber wer nicht will, der muss sie ja nicht einsetzen und darf gern weiterhin bei Python 2.7 stehen bleiben. Geschmäcker und Ansichten von lesbarem und wartbarem Code sind halt manchmal sehr verschieden. ;-)
shcol (Repo | Doc | PyPi)
Benutzeravatar
__blackjack__
User
Beiträge: 796
Registriert: Samstag 2. Juni 2018, 10:21

Donnerstag 19. Juli 2018, 10:32

Also wie gesagt finde ich die Verschachtelung da noch gar nicht tief genug um das jetzt unbedingt anders schreiben zu müssen. Wo ich so etwas bisher eingesetzt habe und auch weiterhin einsetzen werde ist das matchen von regulären Ausdrücken und dann je nach dem welcher matcht etwas mit dem Ergebnis machen. Also Parsen von zeilenbasierten Formaten. Da würde mir die neue Syntax nicht viel bringen, weil das in der Regel mehr als drei Varianten sind und ich die dann sowieso immer in eigene Funktionen/Methoden stecken, damit das keine zu lange Funktion wird und damit man die Verarbeitung der einzelnen Zeilentypen auch separat (Unit)testen kann.
Global warming is caused by the sun.
Benutzeravatar
noisefloor
User
Beiträge: 2427
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Donnerstag 19. Juli 2018, 20:23

Hallo,

mich stört an dem `:=`, dass beim Lesen so überhaupt nicht klar wird, was das sein soll - wenn man es nicht explizit weiß. Sonst sind IMHO alle Sachen in Python so, dass man zumindest (richtig) erahnen kann, was ein Befehl macht. Also ich das erste Mal `:=` gelesen haben, habe ich spontan an Go gedacht, wo das ja bei der normalen Variablenzuweisung genutzt wird.

Gruß, noisefloor
Antworten