gpt4 book ai didi

python - 在python中实例化一个类时返回另一个类

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:35 25 4
gpt4 key购买 nike

我正在尝试使用日志记录的 memory handler将日志消息缓冲到我的实际日志记录处理程序。您可以通过使用一些参数实例化它来使用内存处理程序,如下所示:

import logging
buffered_handler = logging.handlers.MemoryHandler(capacity=5,target=myActualHandler)

但是,我不希望我的应用程序必须直接从日志中实例化一个处理程序,或者传递任何参数;我希望这段代码看起来像这样:

import myhandlers
buffered_handler = myhandlers.BufferedRemoteHandler()

问题是:我该怎么做?我想尝试实例化我的 BufferedRemoteHandler实际上返回带有一些特定参数的日志记录的 MemoryHandler。我想只是让 BufferedRemoteHandler 成为一个返回我想要的处理程序的函数;那是正确的方法吗?有没有一种方法可以创建一个类,当您实例化它时,实际上会返回一个完全不同的类?

最佳答案

也许 PEP 8 的第 3 点就是答案:

Simple is better than complex.

我会采用函数方式。不过,也许可以将其称为 get_handler()(或 get_buffered_remote_handler())之类的名称,这样您第一眼就会意识到它不是真正的类。

关于python - 在python中实例化一个类时返回另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9879009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com