gpt4 book ai didi

python - 我应该如何从 with 语句返回有趣的值?

转载 作者:太空狗 更新时间:2023-10-30 02:06:46 24 4
gpt4 key购买 nike

有没有比使用全局变量更好的方法从上下文管理器中获取有趣的值?

@contextmanager
def transaction():
global successCount
global errorCount
try:
yield
except:
storage.store.rollback()
errorCount += 1
else:
storage.store.commit()
successCount += 1

其他可能性:

  • 单例

    某种全局...

  • 元组作为上下文管理器的参数

    使函数更具体地解决问题/减少可重用

  • 将特定属性保存为上下文管理器参数的实例

    与元组相同的问题,但更易读

  • 在保存值的上下文管理器末尾引发异常。

    真是个坏主意

最佳答案

参见 http://docs.python.org/reference/datamodel.html#context-managers

创建一个保存成功和错误计数的类,并实现 __enter____exit__ 方法。

关于python - 我应该如何从 with 语句返回有趣的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/877709/

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