我知道这是一个应该保留的内部笑话(就像“
from __future__ import braces
”),但它到底有什么作用?
Barry 指的是著名 Python 开发者 Barry Warsaw。
from __future__ import barry_as_FLUFL
基本上用 !=
替换了 <>
运算符。
如上所述,barry 是 Barry Warsaw,著名的 Core Python Dev 然而,FLUFL还没有得到解释
它代表“Friendly Language Uncle For Life”,这是当时其他 Python 核心开发人员之间的一个内部笑话。之所以启用
<>
语法,是因为他是第一个想要使用 <>
运算符 的人
愚人节笑话PEP 0401真的很有趣,所以它目前的实施。 它可以从终端或通过标准输入的
python3 -i
交互地工作得非常好,但令人惊讶的是不是从普通脚本或没有 -i
。它通过 eval(...)
或 compile(..)
工作,这样:
exec(compile('1<>0', 'foo', 'single', __future__.CO_FUTURE_BARRY_AS_BDFL))
True
为了完整起见,以下是交互式会话的输出:
>>> from __future__ import barry_as_FLUFL
>>> 1 != 2
File "<stdin>", line 1
1 != 2
^
SyntaxError: with Barry as BDFL, use '<>' instead of '!='
>>> 1 <> 2
True
>>> 1 <> 1
False