Cody一直在构建 Pythonic 宏语法。他说
These macros allow you to define completely custom syntax, from new constructs to new operators. There's no facility for doing this in Python as it stands.
我不明白他的意思
- 新运算符的新构造:他指的是二元运算符,例如数学中的 +、- 和乘法吗?
- 他的主要目标:自定义 Python 的宏语法对您有何好处?
最佳答案
毫无疑问,Cody 指的是目前 Python 中没有的全新运算符,例如(我不知道)^^
或 ++
或 +*
等等,不管它们是什么意思。他明确表示,宏系统可以让您为 Python 定义一个全新的语法(他的问题是关于宏定义本身的语法)。
有些人非常关心语法,例如更愿意看到 Python 使用大括号而不是按缩进分组;但是 Python 本身永远不会遵循那些人的偏好...:
>>> from __future__ import braces
File "<stdin>", line 1
SyntaxError: not a chance
所以这些人可能会通过这个宏系统为 Python 定义一个全新的语法来获得他们渴望的东西。
其他人可能会使用它来定义特定的自定义语言,这些语言大多遵循 Python 的一般大纲,但添加了特殊的新关键字,让您无需使用括号即可调用函数,等等。
事实上,这是否是一件好事,是一个古老的、没有实际意义的问题——但一些语言,如 Lisp,一直拥有如此强大的宏,许多从 Lisp 转向 Python 的人,如 Peter Norvig,可能会很高兴能找回他们过去在 Lisp 中拥有但在 Python 中缺乏的语法制定能力。
关于python - 无法理解有关自定义 Python 的宏语法的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1065966/