1 回答
TA贡献1804条经验 获得超7个赞
使用全局变量来存储并稍后从一个或多个位置读取设置,对我来说看起来不错。特别是它做起来非常简单。
对于不同的想法,您是否考虑过为您的处理程序使用闭包,如下所示:
def outer(quote):
settings = dict(quote=quote)
def inner():
print(settings['quote'])
return inner
error_handler = outer("'")
# Then you register your error_handler...
# Later when called it remembers the settings
error_handler() # prints the simple quote
考虑到您的评论,使用类而不是闭包:
class QuotedErrorHandler:
quote = "'"
def handler(self, error):
# do your thing
print("Quote to use: {}".format(QuotedErrorHandler.quote))
return error.upper()
QuotedErrorHandler.quote = '"'
my_handler = QuotedErrorHandler()
error_handler = my_handler.handler
print(error_handler("Some error"))
print(my_handler.quote)
添加回答
举报
