他们是如何做到的呢?我也可以将自己的新运算符添加到 Python 3 中吗?我在谷歌上搜索,但没有找到任何这方面的信息。
不,您不能添加自己的。numpy 团队与核心 Python 团队合作将其添加@到核心语言中,它位于核心 Python 文档中(例如,在运算符优先级表中),尽管核心 Python 并未将其用于标准 CPython 发行版中的任何内容。尽管如此,核心发行版仍可识别运算符符号,并BINARY_MATRIX_MULTIPLY为其生成适当的操作码:
>>> import dis
>>> def f(a, b):
... return a @ b
>>> dis.dis(f)
2 0 LOAD_FAST 0 (a)
2 LOAD_FAST 1 (b)
4 BINARY_MATRIX_MULTIPLY
6 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)
小智 5
回答你的第二个问题,
我也可以将自己的新运算符添加到 Python 3 中吗?
可以在这里找到类似的问题和一些非常有趣的答案,Python:定义我自己的运算符?
最近,在 PyCon US 2022 上,Sebastiaan Zeeff 发表了一场演讲,展示了如何实现新的运算符。他警告说,实施纯粹是为了教育目的。然而,事实证明您实际上可以自己实现一个新的运算符!当然是在本地:)。您可以在此处找到他的演讲,并在此处找到他的代码存储库。如果您认为您的操作员可以增强 Python 语言,为什么不为其提出 PEP ?
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |