【问题标题】:How do I activate (execute) methods of a class in Python?如何在 Python 中激活(执行)类的方法?
【发布时间】:2010-02-24 09:13:29
【问题描述】:
我有一个程序 (simple web server),我试图理解它。有一个名为 MyHandler 的类。在这个类中,我们定义了 2 个方法 do_GET 和 do_POST。
我不明白几件事:
我们在哪里使用上面定义的两个方法?我希望看到类似 objectname.do_GET() 和 objectname.do_POST() 的东西,但我没有看到这样的东西。
我们在什么时候实例化类?我们是否使用整个类(不是类的实例)作为 HTTPServer 的参数?
为什么我们在类(BaseHTTPRequestHandler)的定义中指定参数然后不使用?
【问题讨论】:
标签:
python
oop
class
methods
【解决方案1】:
我对 Python 很陌生,但我会尝试一个答案——它也可能有助于我学习!
我们从不从我们的代码中调用 do_GET() 和 do_POST() 方法,这是由 HTTPServer 类实例在发出 GET 和 POST 请求时自动完成的(参见第 2 点)。
HTTPServer 将为发出的每个 HTTP 请求创建一个 MyHandler 类的实例。
BaseHTTPRequestHandler 不是参数:它指定我们的 MyHandler 类是 BaseHTTPRequestHandler 的子类。
希望这会有所帮助!