Начало тут
def handle_negative():
print("Обработка отрицательных значений")
...
def handle_zero():
print("Обработка нуля")
...
def handle_positive_less_than_ten():
print("Обработка положительных чисел меньше десяти")
...
def handle_greater_or_equal_to_ten():
print("Обработка чисел больше или равных десяти")
...
condition_func_map = {
lambda x: x < 0: handle_negative,
lambda x: x == 0: handle_zero,
lambda x: 0 < x < 10: handle_positive_less_than_ten,
lambda x: x >= 10: handle_greater_or_equal_to_ten
}
def process_data(data):
for condition, handler in condition_func_map.items():
if condition(data):
return handler()
Так можно не просто сравнивать
data с фиксированными значениями. Теперь это if-elif-else внутри ключей словаря.Познавательная минутка 🤓
lambda функция в Python является анонимной. Это значит, что перед lambda не ставят знак равно.
my_func = lambda x: x ** 2Такой код считается плохим тоном в Python ☝️
В словаре функций lambda становится ключём словаря, но без присваивания переменной. Она (lambda) остаётся анонимной, Гвидо доволен, коллеги делятся печеньками.
✍️ - беру на вооружение
🤯 - как это работает?
👨💻 - дедлайн, айтишник торжествует
#python3k #lifehack
Python3k