我知道这是一个内部玩笑,意味着它会一直保留(就像“from __future__ import braces
”一样),但它到底是做什么用的?
这与PEP 0401: BDFL退休有关。
Barry是指巴里·沃萨,一位知名的Python开发者。 from __future__ import barry_as_FLUFL
基本上将!=
运算符替换为<>
。
如上所述,barry是Barry Warsaw,一位著名的核心Python开发人员。然而,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
__future__
功能也不会。 (我删除了不再是这个彩蛋一部分的文本。) - hynekcer
<>
语法。 - S.Lottprint
语句也回来了。 - manojldsSIGSEGV(地址边界错误)
。也许这个功能已经没有被维护了。 :P - Jeremy.all_feature_names
中,因此如果您决定运行启用了所有未来功能的程序(查看列表并确认它们都是您想要的),它可能会对您造成影响。请注意。 - Michael Scott Asato Cuthbert<>
语法成为可能,但也禁用了!=
运算符。(据我所知,这两个不能同时存在。) - J-L