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)
添加回答
舉報