Python switch можно реализовать, несмотря на то, что изначально Python switch не поддерживает.
Данный вараинт switch для Python создан на основе лямбда-функций.
В отличии от традиционных switch записывается он в обратном порядке.
{'case1': function1,
'case2': function2,
'case3': function3
}[value]()
Пример реальной работы кода switch для Python:
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)
А вот для сравнения пример записи switch для PHP:
switch ($value) {
case 'a':
$result = $x * 5;
break;
case 'b':
$result = $x + 7;
break;
case 'c':
$result = $x - 2;
break;
}
Если для работы switch необходим default-параметр, то в это случае код на Python записывается так:
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}.get('c', lambda x: x - 22)(23)
Данный вараинт switch для Python создан на основе лямбда-функций.
В отличии от традиционных switch записывается он в обратном порядке.
{'case1': function1,
'case2': function2,
'case3': function3
}[value]()
Пример реальной работы кода switch для Python:
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)
А вот для сравнения пример записи switch для PHP:
switch ($value) {
case 'a':
$result = $x * 5;
break;
case 'b':
$result = $x + 7;
break;
case 'c':
$result = $x - 2;
break;
}
Если для работы switch необходим default-параметр, то в это случае код на Python записывается так:
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}.get('c', lambda x: x - 22)(23)
Комментариев нет:
Отправить комментарий