无法理解有关自定义Python宏语法的语句

2024-04-20 00:58:12 发布

您现在位置:Python中文网/ 问答频道 /正文

Cody一直在构建python宏语法。他说

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的宏语法有何好处?

Tags: tofromyounewcustom语法运算符macros
1条回答
网友
1楼 · 发布于 2024-04-20 00:58:12

毫无疑问,Cody指的是目前Python中没有的全新操作符,比如(I dunno)^^或{}或{}等等,无论它们是什么意思。他明确地说,宏系统允许您为Python定义一种全新的语法(他的问题是关于宏定义本身的语法)。在

有些人非常关心语法,例如,他们更希望看到Python使用大括号而不是按缩进分组;但是Python本身永远不会遵循这些人的偏好…:

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

因此,这些人可以通过这个宏系统为Python定义一个全新的语法,从而获得他们想要的东西。在

其他人可能会使用它来定义特定的自定义语言,这些语言大多遵循Python的一般大纲,但会添加特殊的新关键字,允许您不使用括号调用函数,等等。在

事实上,这是否是件好事,这是一个古老的、没有争议的问题,但是有些语言,比如Lisp,一直都有这样强大的宏,而许多从Lisp来到Python的人,比如peternorvig,可能会很乐意恢复他们以前在Lisp中拥有的语法生成能力,但在Python中却缺乏这种能力。在

相关问题 更多 >