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

0 投票
2 回答
624 浏览
提问于 2025-04-15 20:11

你对在生产代码中使用中缀运算符黑科技有什么看法?这里有一些问题:

  • 这会对速度产生什么影响。
  • 可能会和已经定义了这些运算符的对象发生冲突。这在处理任何类型对象的通用代码中尤其危险。

真可惜这不是内置的功能——它确实能提高代码的可读性。

2 个回答

1

在我个人看来,这在实际代码中并不是个好主意:最大的问题是它完全不符合标准,可能会让不熟悉的人搞不清楚这个新奇的写法到底是从哪里来的。

我觉得一般来说,应该更注重代码的清晰性,而不是简洁性——Python可不是C语言!

6

这样的代码运行起来会明显比更符合Python风格的代码慢,而且会很脆弱(比如你提到的那种方式),让每个第一次看到这种代码的Python专家都感到困惑。

如果你想把Python变成少数几个允许用户自定义中缀运算符的语言之一(像Haskell那样),那么你最好设计一种方法,动态地改变语法,作为对Python解析器的补丁来实现,并开始为此进行游说——如果它真的像你说的那样提高了可读性,那么获得Guido的认可应该不会太难(如果Guido像我猜的那样严厉拒绝了,那你可能要想想,谁更懂语言的可读性:你,还是设计了最易读的广泛使用语言之一的人?不过我不能代替Guido发言,那是timbot的工作;-)。

撰写回答