ich wissen muss konvertieren weigert sich, warum dies nicht gelingt:Python Tupel und Listen. Ein Tupel, die
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
Wenn ich den Code ausführen, erhalte ich folgende msg: <snip> ConfigurationError.py", line 7, in __init__ self.args[0]=self.__prettyfi(self.args[0]) TypeError: 'tuple' object does not support item assignment
ich die Zeile bearbeitet Nr. um dieses Codebeispiel zu vergleichen.
Ich verstehe nicht, warum self.args = list(args)
nicht korrekt die Tupel in der Liste in Zeile auspacken 5.
(Ich habe den leisen Verdacht, ich etwas super-Grund erinnern bin Ausfallen ...)
Gibt es einen technischen Grund, warum es ein Deskriptor ist? –
@Tinctorius: Ausnahmen sind unveränderlich, und 'args' muss auch sein. Darüber hinaus ist 'Exception.args' als Tupel dokumentiert. –
grrrrrrrrrrrr ... danke. Raten Sie schlecht für die Schleife entpacken Sie es dann. Es sei denn, jemand kennt einen besseren Weg ....? – Jase