Как передать несколько параметров функции в словаре?
У меня уже есть этот шаблон, но сейчас я пытаюсь передать в функцию несколько параметров, нужно ли просто добавить другой параметр или есть другой синтаксический фрагмент, который мне не хватает?
def newChannel(hname, cname):
pass
action = {'newChannel': (newChannel, hname),
'newNetwork': (newNetwork, cname) , 'loginError': (loginError, nName)}
handler, param = action.get(eventType)
handler(param)
Как я могу передать несколько параметров хотя? как такой......
action = { 'newChannel': (newChannel, hname, cname) }
это верно?
РЕДАКТИРОВАТЬ: это будет летать?
action = {'newChannelQueueCreated': (newChannelQueueCreated, (channelName, timestamp)), 'login':
(login, networkName), 'pushSceneToChannel': (pushSceneToChannel, channelName),
'channelRemovedFromNetwork': (channelRemovedFromNetwork, (channelName, timestamp))}
print ok
handler, getter = action.get(eventType(ok))
handler(*getter(ok))
1 ответ
Решение
Почему бы не использовать кортеж?
action = {'newChannel': (newChannel, (hname, cname)),
'newNetwork': (newNetwork, (cname,)),
'loginError': (loginError, (nName,))}
handler, params = action.get(eventType)
handler(*params)