2010-10-24 216 views

回答

56

它涉及到PEP 0401: BDFL Retirement

巴里是指巴里华沙,一个众所周知的Python开发。 from __future__ import barry_as_FLUFL基本上用<>代替!=运营商。

+3

谢谢。我编辑了你的答案,因为它有一个明显的misteak :) – tzot 2010-10-24 06:59:52

+12

更重要的是,它启用Python 3中的语法。 – 2010-10-24 13:02:01

+1

链接说'print'语句也回来了。 – manojlds 2013-09-11 12:09:16

6

愚人节笑话PEP 0401真的很有趣,所以它目前的实施。 它从终端或python3 -i从标准输入交互地工作,但令人惊讶的不是从正常脚本或没有-i。它的工作原理eval(...)compile(..)这样:

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

真                                                                    比可怕!=导致手指痛

+0

很好的答案,因为它解释说这不会在正常脚本中“工作”。但我不确定最后一句话是怎么回事?格式和标点看起来是部分笑话,部分粗心,部分破坏行为。我无法分辨。 – 2017-02-24 21:54:09

+0

另外,为了澄清一下:即使使用'-i',在到达REPL之前执行的脚本也必须遵循正常的Python 3语法,否则将会出现语法错误。如果你在脚本中出现语法错误,那么REPL的行为就像你从未做过导入一样。 (你只需要在REPL中重新执行它,但是这首先将它放在脚本中。)如果脚本引发了其他类型的异常(大多数?),那么也可以;在这种情况下,当您被转储到REPL时,导入仍然有效。 – 2017-02-24 22:16:56

6

如上所述更有趣,百里是百里华沙,一个公知的Python核心开发 然而,FLUFL尚未解释

它代表了“生活中的友好语言叔叔”,这是当时其他Python核心开发者之间的一个内部笑话。这使得<>语法的原因在于,他是希望使用<>运营商的主要人员

+1

只是在这里吹牛,但我参加了Barry的核心Python黑客马拉松,我们分享了有趣的故事,让我们分享了一些乐趣:)这与Guido van Rossum的仁慈​​的Live(BDFL)独裁者类似。他是一个非常好的人:) – MicroTransactionsMatterToo 2017-06-10 07:33:07