我需要知道为什么会失败:
class ConfigurationError(Exception):
def __init__(self, *args):
super(ConfigurationError, self).__init__(self, args)
self.args = list(args)
# Do some formatting on the message string stored in self.args[0]
self.args[0]=self.__prettyfi(self.args[0])
def __prettyfi(self, arg):
pass
# Actual function splits message at word
# boundaries at pos rfind(arg[1:78]) if len(arg) >78
# it does this by converting a whitespace char to a \n
当我运行代码时,我收到以下消息:
<snip>
ConfigurationError.py", line 7, in __init__
self.args[0]=self.__prettyfi(self.args[0])
TypeError: 'tuple' object does not support item assignment
我编辑了行号。以匹配此代码示例。
我不明白为什么self.args = list(args)
没有正确地将元组解包到第 5 行的列表中。
(我有一个偷偷摸摸的怀疑我没有记住一些超级基本的东西......)