Свежий ли UIkit

Ответ

Ответ не найден

Ответ 18+ 🔞

Да ты посмотри, какой прикол! Вот сидишь ты, значит, пишешь на Python, и всё вроде красиво: result = a + b. А потом бац — тебе нужно не складывать, а конкатенировать строки, если это строки, или числа складывать, если это числа. И пишешь ты такую хуйню:

def add(a, b):
    return a + b

И вроде всё работает, пока не подсунешь туда add(2, "3"). А там тебе, ясное дело, TypeError — хуй с горы, а не сложение. И сидишь ты, чешешь репу: «Э, бошка, думай! Как же сделать, чтобы эта функция не ломалась, как старая тачка?»

А решение-то, блядь, простое, как три копейки! Надо просто проверить, что за хуйню тебе передали. Вот смотри:

def add(a, b):
    if isinstance(a, (int, float)) and isinstance(b, (int, float)):
        return a + b
    elif isinstance(a, str) and isinstance(b, str):
        return a + b
    else:
        raise TypeError("Оба аргумента должны быть либо числами, либо строками, ёпта!")

Вот и вся магия! Никаких ебушки-воробушки, просто логика. Проверили типы — и нет проблем. А если какой-то умник подсунул add([1], 2), так ему сразу в лоб ошибка: «Иди нахуй со своим списком, тут так не играют!»

Главное — не выёбывайся с излишней сложностью. Часто всё решается парой проверок, а не многоэтажными декораторами, от которых мозг вытекает. Пиши просто, пиши понятно, чтобы через месяц самому не пиздануть себя по лбу со словами «И кто это такое говно написал?».