這就是我在尋找: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])
這就是我在尋找: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])
沒有什麼太法寶:
def __init__(self, *args):
Parent.__init__(self, list(args))
裏面的__init__
,變量args
只是在獲得通過的任何參數的元組事實上,你可能只需要使用Parent.__init__(self, args)
,除非你真的需要它成爲一個列表。
作爲邊注,使用super()
優選Parent.__init__()
。
有這一塊的,我在sentdex教程拿起代碼與此交易:
https://www.youtube.com/watch?v=zPp80YM2v7k&index=11&list=PLQVvvaa0QuDcOdF96TBtRtuQksErCEBYZ
試試這個:
def test_args(*args):
lists = [item for item in args]
print lists
test_args('Sun','Rain','Storm','Wind')
結果:
[ '太陽','雨','風暴','風']
你的意思是:'Parent .__ init __(list(args))'? – isedev 2013-03-18 23:51:39
你可能不需要*列表*,而是一個序列。 'args'已經是一個元組了 – JBernardo 2013-03-18 23:52:22