python 中的简单英语处理程序是什么

What are handlers in python in plain English

所以我问这个问题是因为在 运行 通过 Python 库、Google 和 Stack Exchange 搜索时,我似乎无法找到一个简单的措辞答案。

到目前为止我能找到的最好的来自 wptserve:

"处理程序是具有通用签名的函数:

handler(request, response)

预计处理程序将使用来自请求的信息(例如路径)用要发送的数据填充响应对象,或者通过 ResponseWriter 直接写入输出流与请求关联的实例。"

link: https://wptserve.readthedocs.io/en/latest/handlers.html

所以基本上,根据我收集的信息,处理程序通过使用数据来响应用户请求,数据类型取决于请求的类型。

我相信它比这要复杂一点,但同样,真正需要的是对什么是处理程序的措辞非常简单的概念性描述,而不是花哨的术语。

一般来说,处理程序是 'handle' 它们注册的某些事件的函数。

您引用的文档是关于 Web 服务器的。 Web 服务器接收来自例如URLs 的浏览器 - 和 returns 的答案取决于请求的内容。 他们正在谈论的特定处理程序接受两个参数:

  1. 来自浏览器的 request 包含 URL 等信息,可能是 cookie、IP 等
  2. 一个response对象。处理程序应从 request 中获取信息以相应地填充 response 对象。它还可能使用其他信息,例如数据库或文件。

例如:Web 浏览器请求 http://me.com/index.html。调用处理程序,在根目录中查找名为 index.html 的文件。如果找到该文件,则读取该文件并将其附加到 response 对象并完成处理程序。 wgetsrv 框架将完成剩下的工作,并将响应发送回现在将看到网站的客户端。

还有许多其他类型的处理程序,例如用于用户输入的处理程序。每次击键时都会调用已注册的键盘输入处理程序。这允许程序员做出反应并显示文本或调用快捷方式。

Handlers 通常用来代替 pollingPolling 是一种技术,在这种技术中,程序会经常检查某物的状态,以便在状态发生变化时做出反应。继续使用键盘示例。想象一下,您正在使用箭头键引导游戏玩家穿越 2D 世界。程序如何知道你想去哪个方向?它需要检查按下了哪个(如果有的话)箭头键。为此,它可以获得键盘的状态,例如检查是否当前按下右箭头键,如果是这种情况,然后将播放器向右移动一点。但是程序只有在检查了键盘后才会知道这个变化。因此,为了响应播放器,它必须经常检查键盘的状态(每秒几次),这会浪费 CPU 个周期,因为大多数时间状态确实没有改变。

现在把模型转过来,游戏可以问键盘:Hey, when a key is pressed, call this function and tell it which keys are pressed。然后该函数可以相应地更新玩家的位置——但仅在键盘状态发生变化时调用。投票就像每五分钟打电话给披萨店的人:"Is my order ready for pickup?" 而不是打电话给他并告诉他 "Call me back when my order is ready." 在后一种情况下,您 'registered a handler for pizza-ready events' 节省了你们俩很多时间。