在生产代码中使用中缀运算符hack(Python)

Cas*_*ash 0 python

您对在生产代码中使用中缀运算符hack有何看法?问题:

  • 这将对速度产生影响.
  • 已经定义了与具有这些运算符的对象发生冲突的可能性.对于旨在处理任何类型对象的通用代码,这似乎特别危险.

遗憾的是,这不是内置的 - 它确实提高了可读性

Ale*_*lli 6

它会比Pythonic代码慢得多,比较脆弱(比如你建议的方式),并且让第一次遇到这样的代码的每个专业Python程序员感到困惑.

如果您想将Python变成允许用户定义的中缀运算符(例如Haskell)的极少数语言之一,那么最好设计一种动态改变语法的方法,将其作为Python的补丁实现解析器,并开始游说 - 如果它像你说的那样提高了可读性,那么让Guido批准一个干净,易于解释的实现并不是那么难(如果Guido,我怀疑,应该反而严厉拒绝它,然后你可能想要思考谁是一个更好的判断语言可读性的人:你,或者是最易读的广泛语言之一的设计者?但我不能引导Guido,那是tim bot的工作;-).