那么"来自__future__ import barry_as_FLUFL"到底是做什么的呢?

tzo*_*zot 68 python operators

我知道这是一个内心的笑话,意味着留下来(就像" from __future__ import braces"),但究竟是什么呢?

Lie*_*yan 69

它与PEP 0401:BDFL退休有关

Barry指的是着名的Python开发人员Barry Warsaw.该from __future__ import barry_as_FLUFL基本取代了!=与运营商<>.

  • 更重要的是,它在Python 3中启用了`<>`语法. (16认同)
  • 正如 S. Lott 所说,它在 Python 3 中启用了“&lt;&gt;”语法,但它也“禁用”了“!=”运算符。(据我所知,你不能两者兼得。) (5认同)
  • 谢谢.我编辑了你的答案,因为它有一个明显的misteak :) (4认同)
  • 链接说'print`语句也回来了. (2认同)
  • @manojlds但事实并非如此.至少在Python 3.3中没有. (2认同)
  • 顺便说一句 - 与大括号不同,它位于`.all_feature_names`中,所以如果你决定运行一个程序(比如doctest),启用所有未来的功能(查看列表并看到它们都是你想要的),它就可以了绝对咬你. (2认同)

Mic*_*Too 13

如上所述,barry是Barry Warsaw,一个着名的Core Python Dev但是,FLUFL尚未得到解释

它代表"友情生活的语言叔叔"是当时其他蟒蛇核心开发者的内心笑话.这启用<>语法的原因是他是想要使用<>运算符的主要人物

  • 吹牛这里,但我参加了一个Python核心编程马拉松与巴里和我们有一些有趣的分享有趣的故事:)这是类似的吉多·范罗苏姆的仁慈的独裁者为Live(BDFL).他是一个非常好的人:) (3认同)

hyn*_*cer 10

愚人节的笑话PEP 0401真的很有趣,所以它目前的实施.它从终端或python3 -i标准输入以非常好的方式工作,但令人惊讶的是,它不是来自普通脚本或没有-i.它eval(...)通过compile(..)这种方式工作:

exec(compile('1<>0', 'foo', 'single', __future__.CO_FUTURE_BARRY_AS_BDFL))
Run Code Online (Sandbox Code Playgroud)

真的比!=引起手指疼痛的可怕更可笑