2010-10-24 7 views

Antwort

56

Es ist zu PEP 0401: BDFL Retirement Zusammenhang

Barry bezieht sich auf Barry Warschau, einem bekannten Python-Entwickler. Der from __future__ import barry_as_FLUFL ersetzt im Wesentlichen den != Operator mit <>.

+3

Danke verwenden wollte. Ich bearbeitete Ihre Antwort, weil es eine offensichtliche Missteak hatte :) – tzot

+12

Noch wichtiger ist, ermöglicht es '<>' Syntax in Python 3. –

+1

Der Link sagt, die 'print'-Anweisung ist auch zurück. – manojlds

6

Der Aprilscherz PEP 0401 ist wirklich lustig und so seine aktuelle Umsetzung. Es funktioniert sehr gut interaktiv vom Terminal oder python3 -i aus dem Standart-Eingang, aber überraschenderweise nicht von einem normalen Skript oder ohne -i. Es funktioniert durch eval(...) oder durch compile(..) diese Weise:

exec(compile('1<>0', 'foo', 'single', __future__.CO_FUTURE_BARRY_AS_BDFL)) 

Wahre                                                                     mehr lustig als schrecklich != die Finger Schmerzen verursacht

+0

Große Antwort, da es erklärt, dass dies in einem normalen Skript nicht funktioniert. Aber ich bin mir nicht sicher, was mit dem letzten ... Satz los ist? Die Formatierung und Interpunktion sieht Teil Witz, Teil Sorglosigkeit, Teil Vandalismus. Ich kann es einfach nicht sagen. –

+0

Oh, auch, um zu verdeutlichen: Selbst wenn Sie '-i' verwenden, muss das Skript, das ausgeführt wird, bevor Sie an die REPL gelangen, der normalen Python 3-Syntax folgen oder Sie erhalten einen Syntaxfehler. Und wenn Sie im Skript einen Syntaxfehler erhalten, verhält sich die REPL so, als hätten Sie den Import nie ausgeführt. (Sie müssen es nur noch einmal an der REPL machen, aber das ist der Punkt, an dem es überhaupt in Ihr Skript eingefügt wird.) Es ist in Ordnung, wenn das Skript (meistens?) Andere Arten von Ausnahmen auslöst; Der Import wird immer noch wirksam sein, wenn Sie in diesem Fall an die REPL übergeben werden. –

6

Wie oben erwähnt, ist Barry Warschau, ein bekannter Kern Python Dev Allerdings hat die FLUFL nicht erklärt worden

Es steht für "Friendly Language Uncle For Life", ein Insider-Witz unter den anderen Python-Core-Entwicklern seiner Zeit. Der Grund, warum dies die <> Syntax ermöglicht, ist, dass er die primäre Person war, die den <> Operator

+1

Ich prahlte nur hier, aber ich besuchte einen Core Python Hackathon mit Barry und wir hatten Spaß daran, amüsante Geschichten zu erzählen :) Das ist Guido van Rossums Benevolent Dictator for Live (BDFL) ähnlich. Er ist ein wirklich netter Typ :) – MicroTransactionsMatterToo