Ich habe eine Klasse, die wenige statische Felder hat und von iterable initialisiert wird (wie Ausgabe von csvreader
). Die __init__
führt Typumwandlung von Strings in Zahlen für einige von ihnen:Typ Umwandlung für namedtuple Felder während der Initialisierung
class PerformanceTestResult(object):
def __init__(self, csv_row):
# csv_row[0] is just an ordinal number of the test - skip that
self.name = csv_row[1] # Name of the performance test
self.samples = int(csv_row[2]) # Number of measurement samples taken
self.min = int(csv_row[3]) # Minimum runtime (ms)
self.max = int(csv_row[4]) # Maximum runtime (ms)
self.mean = int(csv_row[5]) # Mean (average) runtime (ms)
self.sd = float(csv_row[6]) # Standard deviation (ms)
Ich denke darüber Umwandlung nur ein namedtuple
zu sein, da es sonst nicht viel zu ihm. Aber ich möchte die Typumwandlung während der Initialisierung beibehalten. Gibt es eine Möglichkeit, dies mit namedtuple
zu tun? (Ich habe nicht __init__
Methode in der ausführlichen Ausgabe von namedtuple
Factory-Methode bemerkt, die ich initializer Arbeiten pausieren, wie die Standard gibt.)
Haben Sie ein Beispiel dafür, wie Ihr namedtuple aussehen soll? – user1767754