擅长:python、mysql、java
<p>听起来你有一些误解,我们希望能澄清。首先,decorator只是一个术语(<em>和一些语言“sugar”,即<code>@decorator</code>语法</em>),表示接受一个可调用项并返回另一个可调用项的可调用项。这个可调用函数可以是一个函数(<em>例如<code>def foo(func)</code></em>),也可以是一个方法(<em>例如<code>obj.method(func)</code></em>),它只需要是一个接受可调用函数并返回可调用函数的东西</p>
<p>在Flask的<code>@app.route</code>装饰器中,您正在将<code>hello</code>函数传递给对象的(<em>我认为是<code>flask.Flask</code>对象的^{</em>)<code>route</code>方法。反过来,当Flask应用程序被告知开始服务请求时,它会将您的函数及其相关配置添加到自己的“内存”中进行路由</p>
<p>其次,您的示例具有<code>def something(arg1, arg2):</code>调用时传递给对象方法的第一个参数是对象实例,通常称为<code>self</code></p>
<p>这篇<a href="https://realpython.com/primer-on-python-decorators/" rel="nofollow noreferrer">Primer on Python Decorators</a>文章可能是一个很好的开始阅读他们如何/为什么以这种方式工作的地方</p>