Sim*_*mon 5 python reserved-words keyword redefinition python-3.x
我遇到了一个问题,我必须对我的 API 设置返回的所有内容进行 jsonify。当我在写一个装饰器并将它应用到每一个方法时,我想到了一个想法:
“我不能只是覆盖 return 关键字,以便它每次都为我执行此操作吗?”
我进行了一些搜索,但找不到有关该主题的任何内容。然而,既然“一切都是对象”,也许有可能?
显然覆盖return是一个坏主意,但在更一般的意义上,我的问题是:
你能改变 Python 中保留字和关键字的行为吗?
不,您不能在 Python 中重新定义保留字。它们的意思是……鼓声……保留,所以根据定义它不能被改变。
我能在官方文档中找到最接近这一事实的明确声明的是语言参考的词法分析章节(重点是我的):
2.3.1. 关键词
以下标识符用作保留字或语言的关键字,不能用作普通标识符。它们必须完全按照此处所写的拼写:
Run Code Online (Sandbox Code Playgroud)False await else import pass None break except in raise True class finally is return and continue for lambda try as def from nonlocal while assert del global not with async elif if or yield
由于关键字不能用作普通标识符,因此不能将它们分配给、用作def语句中的函数名称等。
重要的是要了解,实际上是关键字的基本性质禁止更改其含义,尽管如此 - 分配等不起作用是这种性质的结果,而不是其原因。
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |