これは私が探しているものです:
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):
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')
結果:
['太陽'、'雨'、'嵐'、'風']
@simonのソリューションと同じ方向で何かを探している場合は、次のようにします。
def test_args(*args):
lists = [*args]
print(lists)
test_args([7],'eight',[[9]])
結果:
[[7]、'8'、[[9]]]