2013-03-18 15 views
5

To co szukam:Python konwersji * args do listy

def __init__(self, *args): 
    list_of_args = #magic 
    Parent.__init__(self, list_of_args) 

muszę przechodzić * args do jednej tablicy, tak że:

MyClass.__init__(a, b, c) == Parent.__init__([a, b, c]) 
+0

Masz na myśli: 'Rodzic .__ init __ (list (args))'? – isedev

+1

Prawdopodobnie nie potrzebujesz * listy *, ale sekwencji. 'args' jest już krotką – JBernardo

Odpowiedz

7

Nic magiczne:

def __init__(self, *args): 
    Parent.__init__(self, list(args)) 

Wewnątrz __init__ zmienna args jest tylko krotka wszelkich argumentów, które zostały przekazane w W rzeczywistości prawdopodobnie możesz po prostu użyć Parent.__init__(self, args), chyba że naprawdę potrzebujesz, aby być listą.

Na marginesie, używanie super() jest lepsze niż Parent.__init__().

Powiązane problemy