2013-03-18 33 views
5

這就是我在尋找:Python的轉換*參數傳遞給列出

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

我需要* ARGS傳遞給單個陣列,使:

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

你的意思是:'Parent .__ init __(list(args))'? – isedev 2013-03-18 23:51:39

+1

你可能不需要*列表*,而是一個序列。 'args'已經是一個元組了 – JBernardo 2013-03-18 23:52:22

回答

7

沒有什麼太法寶:

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

裏面的__init__,變量args只是在獲得通過的任何參數的元組事實上,你可能只需要使用Parent.__init__(self, args),除非你真的需要它成爲一個列表。

作爲邊注,使用super()優選Parent.__init__()