Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以在Python中重新定义关键字吗?_Python_Python 3.x_Keyword_Reserved Words_Redefinition - Fatal编程技术网

可以在Python中重新定义关键字吗?

可以在Python中重新定义关键字吗?,python,python-3.x,keyword,reserved-words,redefinition,Python,Python 3.x,Keyword,Reserved Words,Redefinition,我遇到了一个问题,在这个问题上,我必须jsonification我的API设置要返回的所有内容。当我写一本装饰书并将其应用于每一种方法时,我突然想到: “我不能覆盖return关键字,以便它每次都为我执行此操作吗?” 我做了一些搜索,但找不到关于这个主题的任何东西。然而,既然“一切都是一个物体”,也许这是可能的 显然,覆盖return是个坏主意,但从更一般的意义上讲,我的问题是: 您可以更改Python中保留字和关键字的行为吗?否,您不能在Python中重新定义保留字。它们的意思是…drumro

我遇到了一个问题,在这个问题上,我必须jsonification我的API设置要返回的所有内容。当我写一本装饰书并将其应用于每一种方法时,我突然想到:

“我不能覆盖return关键字,以便它每次都为我执行此操作吗?”

我做了一些搜索,但找不到关于这个主题的任何东西。然而,既然“一切都是一个物体”,也许这是可能的

显然,覆盖
return
是个坏主意,但从更一般的意义上讲,我的问题是:


您可以更改Python中保留字和关键字的行为吗?,您不能在Python中重新定义保留字。它们的意思是…drumroll…保留的,因此根据定义它不能被更改

我能在官方文件中找到的最接近于明确说明这一事实的是《语言参考》的词汇分析章节(我的重点):

2.3.1. 关键词 以下标识符用作语言的保留字或关键字,不能用作普通标识符。它们的拼写必须与此处所述完全一致:

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
语句中将其分配给、用作函数名等


重要的是要理解,关键字的基本性质实际上是禁止更改其含义的,尽管如此–赋值等将不起作用是这种性质的结果,而不是原因。

Nope…..除非您放弃python项目并重写return关键字,如果你想在任何地方都返回json,它就可以工作了……它是一个类吗?你可以用@Grant-McCloskey来修饰一个类中的所有方法,我不是想解决一个具体的问题,而是想更好地理解整个语言。我写下了我的思考过程,这样人们就可以理解我的问题。是的,我只是想想出其他方法来代替这个问题的起源,因为我找到了类似的答案。我有点惊讶,因为我找不到这个问题的副本,所以我对@Rodrigalencar的评论做了一些扩展,使之成为一个“正确”的答案。