Пробую эту небольшую часть кода, которая может быть альтернативой коммутатору. Но я попал в Ошибка.Switch Alternative in python
def main(x):
x = x.split(' ')
return {'Function1' : Function1(x),
'Function2' : Function2(x),
}[x[0]]
def Function1(x):
var1 = x[0]
var2 = x[1]
def Function2(x):
print x[0]
main("Function1 10")
Теперь приведенный выше код работает нормально. Проблема в том, что если я передаю Function2 как ключ без каких-либо аргументов основной функции, она автоматически переходит в Function1 и выдает список ошибок вне диапазона.
main("Function2")
Thanks in Advance.
В 'Function2' вы не определили какой-либо переменной' x' но вы получаете доступ к своему 1-му элементу – mirosval
@mirosval, он не входит в fun2. – taz
Есть несколько различий между тем, что вы можете делать со словарями, в отличие от обычных операторов switch с других языков. Возможно, задайте вопрос в том, что вы пытаетесь сделать и как. Сопоставление значений с функциями может выполняться с помощью сопоставления (например, того, что вы делаете), без необходимости использования оператора switch. –