Последние посты

Just Python
22 сент., 16:07
Декорируем функцииДекоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.#theory // Just Python


Just Python
22 сент., 11:07
Проверка необходимой версии PythonЧтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python.#theory // Just Python


Just Python
21 сент., 16:07
Использование подчеркивания в REPLВы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом#theory // Just Python


Just Python
21 сент., 11:07
Обязательные аргументыДля принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми#theory // Just Python


Just Python
20 сент., 16:07
Замена переменных на местеЭтот аккуратный трюк поможет сэкономить несколько строк кода.#theory // Just Python


Just Python
20 сент., 11:12
List ComprehensionsList comprehension может заменить неэстетичные циклы, используемые для заполнения списка. Синтаксис выглядит следующим образом: [ expression for item in list if conditional ]Поскольку здесь можно использовать выражения, вам доступна работа с математикой, вызов внешней функции и, наконец, вы сможете использовать «if» для фильтрации списка.#theory // Just Python


Just Python
19 сент., 16:07
Data classesНачиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:- возврат нескольких значений или словарей; - класс данных требует минимального количества кода; - возможность сравнения классов данных; - возможность распечатать класс данных для отладки при помощи repr; - снижение вероятности ошибок в связи с требованием класса данных type hints.#theory // Just Python


Just Python
19 сент., 11:07
Многоточие в PythonМноготочие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python>>> ... # Вывод покажет: EllipsisПрименяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали.#theory // Just Python


Just Python
18 сент., 16:07
Сглаживание вложенного спискаВложенные списки — частое явление, но иногда нужно "сгладить" их до одного уровня.Для многоуровневых списков удобнее использовать рекурсивный подход.#theory // Just Python


Just Python
18 сент., 11:07
Список с условием (List Comprehension)List comprehension — один из самых мощных инструментов Python, позволяющий создавать списки одной строкой кода.Этот подход не только компактнее, но и быстрее традиционных циклов. Важно не злоупотреблять сложными условиями — код должен оставаться читаемым. Однажды я переписал цикл из 15 строк в одну строку list comprehension, и код стал работать на 30% быстрее.#theory // Just Python


Just Python
17 сент., 11:07
Простой способ перевернуть строкуЭтот трюк со срезами [::-1] я использую почти каждый день. Он работает значительно быстрее, чем итерационные методы типа ''.join(reversed(s)), что доказано бенчмарками. Кстати, тот же метод применим и к спискам.#theory // Just Python


Just Python
17 сент., 11:07
POST запросы и отправка данныхОбратите внимание на параметр json= вместо data=. Он автоматически сериализует Python-словарь в JSON и устанавливает правильный заголовок Content-Type.#theory // Just Python


Just Python
16 сент., 16:07
Функция для измерения времени выполнения кодаОтладка производительности - частая головная боль. Простой декоратор для измерения времени выполнения функций спасает в таких ситуациях.Можно модифицировать этот декоратор, добавляя вывод аргументов функции или интеграцию с системой логирования проекта.#theory // Just Python


Just Python
16 сент., 11:07
Бинарный поиск в PythonБинарный поиск - один из фундаментальных алгоритмов, который работает намного эффективнее линейного поиска на отсортированных данных.Формула left + (right - left) // 2 вместо обычной (left + right) // 2 защищает от переполнения при работе с большими массивами. Такая мелочь однажды спасла меня от трудноуловимого бага в промышленном коде.#theory // Just Python


Just Python
16 сент., 10:07
16 сентября в Arena Breakout: Infinite выходит седьмой сезон — «Утопия»Если не сталкивались с игрой: это бесплатный тактический шутер про вылазки за добычей. Заходишь на локацию со своим снаряжением, набираешь лут и пытаешься уйти живым. Погиб — потерял всё, что было с собой.Что завозят в новом сезоне:• Заражённая зона — три карты превращаются в биоопасные локации с ночью, туманом и ливнем, по ним бродят шесть видов мутантов. Другие игроки при этом никуда не делись • Режим на выживание — отдельный PvE без риска: снаряжение с собой не берёшь и ничего не теряешь, просто отбиваешься от волн и открываешь усиления • Торговец прямо в рейде — можно обменять припасы и разведданные или докупить снаряжение • Два новых ствола, сезонные обвесы и переработанная стрельба: дальность выше, попадания в голову ощутимее • На старте бесплатно выдают прокачиваемую сапёрную лопату, скины и билеты, а


Just Python
15 сент., 16:07
Алгоритм Евклида на PythonАлгоритм Евклида - элегантное решение для нахождения НОДРасширенный алгоритм Евклида особенно полезен в криптографии и при решении линейных диофантовых уравнений. Я использовал его при реализации алгоритма RSA для учебного проекта.#theory // Just Python


Just Python
15 сент., 11:07
Функция проверки чисел на простотуОптимизированный алгоритм для проверки простоты числа.В этом алгоритме я использую свойство, что все простые числа (кроме 2 и 3) можно представить в виде 6k ± 1. Это сокращает количество проверок примерно в 3 раза по сравнению с наивным перебором до квадратного корня.#theory // Just Python


Just Python
14 сент., 16:07
Анализ производительности популярных подходов с бенчмарками часть 2Метод dict.get() обычно работает примерно на 30-40% быстрее, чем явная проверка через if key in dict, и примерно в 2-3 раза быстрее, чем использование блока try-except.Но не всегда стандартные методы лучше. Например, при сортировке списков с пользовательским ключом, использование operator.itemgetter() может быть на 10-15% быстрее lambda-функций.#theory // Just Python


Just Python
14 сент., 11:07
Анализ производительности популярных подходов с бенчмарками часть 1Интуитивные представления о производительности нередко бывают ошибочными. Python - язык с множеством способов решения одной задачи, и выбор правильного подхода может дать огромный прирост производительности. Давайте сравним некоторые распространенные операции с помощью простых бенчмарков.Результаты могут удивить: join обычно в 10-15 раз быстрее, чем последовательное использование оператора +. Причина проста - строки в Python неизменяемы, и каждая операция + создает новый объект.list comprehension стабильно показывает результаты на 15-20% лучше, чем filter() с lambda-функцией. Однако этот разрыв может меняться в зависимости от сложности фильтрующей функции. Особенно впечатляет разница при доступе к элементам словаря#theory // Just Python


Just Python
13 сент., 16:07
Безопасное получение вложенных значенийДоступ к вложенным атрибутам объектов или вложенным ключам словарей часто приводит к ошибкам.Эта функция может сократить количество проверок в коде на порядок, сделав его намного чище и понятнее.#theory // Just Python

