gpt4 book ai didi

python - 用于延迟初始化的代理对象

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:19 25 4
gpt4 key购买 nike

是否有任何现成的 Python 模块可以提供易于使用的代理对象,仅在真正需要时初始化“真实”对象?

理想情况下,我正在寻找一种透明的实现,以便处理此代理对象的代码不需要知道它不是实际的对象。

我想这样使用它:

class Example:
def __init__(self):
print("Example initialized")

lazy = Proxy(Example)
print(isinstance(lazy, Example))
# Example initialized
# True

如您所见,它的行为非常类似于unittest.MagicMock。

如果没有任何库提供这样的功能,我将自己实现它,但我想确保还没有其他人这样做过。

编辑

我希望这个代理对象遵循完整的实现 like this .

最佳答案

我找到了模块lazy-object-proxy这正是这样做的。

值得一提的是,正如 @Marat 指出的 Django offers a solution as well ,虽然我不想为此导入 Django,但如果您已经在项目中使用它,那么这将是一个完美的解决方案。

关于python - 用于延迟初始化的代理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634064/

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