Seite 1 von 1

Seiteneffekte des neuen PEG-Parsers

Verfasst: Montag 11. April 2022, 17:57
von DeaD_EyE
Durch die Einführung des neuen PEG-Parsers sind verschiedene Konstruktionen möglich, die zuvor einen SyntaxError ausgelöst haben.

Code: Alles auswählen

a = [1,2,3]
b = [4,5,6]

for x in *a, *b:
    print(x)
    
Dazu gibt es auch ein bpo: https://bugs.python.org/issue46725
Wer wusste bereits, dass man das machen kann?
Mir war es völlig neu, dass sowas geht.

Re: Seiteneffekte des neuen PEG-Parsers

Verfasst: Montag 11. April 2022, 18:04
von Sirius3
Naja, dass man früher Klammern gebraucht hat, erzwingt einem hier nur mehr Lesbarkeit.

Code: Alles auswählen

a = [1,2,3]
b = [4,5,6]

for x in (*a, *b):
    print(x)

Re: Seiteneffekte des neuen PEG-Parsers

Verfasst: Montag 11. April 2022, 18:08
von __deets__
Diese Syntax kannte ich noch nicht. Aber ich werde sie denke ich auch eher nicht verwenden, das waere eher ein Fall fuer itertools chain. Einfach weil mir das zu arkan ist.

Re: Seiteneffekte des neuen PEG-Parsers

Verfasst: Montag 11. April 2022, 18:21
von narpfel
Die IMHO einzige positive Änderung, die bis jetzt durch den PEG-Parser möglich wurde:

Code: Alles auswählen

with (
    open("foo") as foo,
    open("bar") as bar,
):
    ...

Re: Seiteneffekte des neuen PEG-Parsers

Verfasst: Montag 11. April 2022, 20:11
von nezzcarth
narpfel hat geschrieben: Montag 11. April 2022, 18:21 Die IMHO einzige positive Änderung, die bis jetzt durch den PEG-Parser möglich wurde:
Ich kann man mich täusche, aber ich habe die schöneren Fehlermeldungen, die es seit ein paar Versionen gibt, auch mit dem neuen Parser in Verbindung gebracht.