代码之家  ›  专栏  ›  技术社区  ›  Casebash

在生产代码(python)中使用infix操作符hack

  •  0
  • Casebash  · 技术社区  · 16 年前

    你对使用 infix operator hack 在生产代码中?问题:

    • 这将对速度产生影响。
    • 可能与已定义的这些运算符的对象发生冲突。对于用于处理任何类型对象的通用代码来说,这似乎特别危险。

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

    2 回复  |  直到 14 年前
        1
  •  6
  •   Alex Martelli    16 年前

    它将比更多的python代码慢得多,脆弱(如您建议的方式),并且会困扰每一个第一次使用此类代码的专业python程序员。

    如果你想把python变成少数几个允许用户定义的infix操作符(比如haskell)的语言之一,你最好设计一种动态改变语法的方法,把它作为python解析器的补丁来实现,并开始游说——如果它能像你说的那样提高可读性,那么它不应该是这样的。很难得到guido对一个干净、易于解释的实现的批准(我怀疑,如果guido应该严肃地拒绝它,那么您可能想考虑谁更能判断语言的可读性:您,还是最可读的广泛语言之一的设计者?但我不能引导吉多,这就是 提姆 BOT的工作;

        2
  •  1
  •   jkp    16 年前

    在我个人看来,这在生产代码中不是一个好主意:最大的问题是它完全不标准,可能会让不熟悉的读者想知道这本小说的语法是从哪里突然冒出来的。

    我认为你应该更喜欢明晰而不是简明扼要——python不是c!