📌 🧵 Простое параллельное выполнение с ThreadPoolExecutor
Когда нужно ускорить выполнение нескольких независимых задач (например, загрузку файлов или запросы к API), можно использовать ThreadPoolExecutor из модуля concurrent.futures.
🎯 Итог
ThreadPoolExecutor — простой способ запускать функции в нескольких потоках и ускорять выполнение программы.
Когда нужно ускорить выполнение нескольких независимых задач (например, загрузку файлов или запросы к API), можно использовать ThreadPoolExecutor из модуля concurrent.futures.
🎯 Итог
ThreadPoolExecutor — простой способ запускать функции в нескольких потоках и ускорять выполнение программы.
📌 ⚡ Измеряем время выполнения кода с timeit
Иногда нужно быстро узнать, сколько времени занимает выполнение куска кода. Вместо того чтобы вручную засовывать time.time(), можно использовать модуль timeit, который создан именно для этого.
Модуль автоматически несколько раз выполняет код и выдаёт среднее время — удобно для сравнения разных реализаций.
🎯 Итог
timeit — быстрый способ измерить производительность и выбрать оптимальное решение.
Иногда нужно быстро узнать, сколько времени занимает выполнение куска кода. Вместо того чтобы вручную засовывать time.time(), можно использовать модуль timeit, который создан именно для этого.
Модуль автоматически несколько раз выполняет код и выдаёт среднее время — удобно для сравнения разных реализаций.
🎯 Итог
timeit — быстрый способ измерить производительность и выбрать оптимальное решение.
📌 📝 Чтение больших файлов построчно
Если файл очень большой, не стоит загружать его целиком в память с помощью .read(). Эффективнее читать его по строкам через итерацию — это экономит ресурсы и работает быстрее.
🎯 Итог
Для больших файлов всегда лучше использовать построчное чтение, чтобы не перегружать память и ускорить обработку.
Если файл очень большой, не стоит загружать его целиком в память с помощью .read(). Эффективнее читать его по строкам через итерацию — это экономит ресурсы и работает быстрее.
🎯 Итог
Для больших файлов всегда лучше использовать построчное чтение, чтобы не перегружать память и ускорить обработку.
Бывший пиарщик Сбера и Пепси-колы Юрий Сапожников завел канал, где открыто показывает внутрянку крупных брендов и шутит про русский бизнес.
Еще он на пальцах объясняет, почему все соцсети в 2025 году — это маркетплейсы, почему мы все подсели на Вайлдбериз, и как доставка стала новой нормой. И всё это с цифрами, личными комментариями, ну и мемами, конечно.
Короче Поддержите Юру подпиской — видно, что чувак шарит: клиик
Еще он на пальцах объясняет, почему все соцсети в 2025 году — это маркетплейсы, почему мы все подсели на Вайлдбериз, и как доставка стала новой нормой. И всё это с цифрами, личными комментариями, ну и мемами, конечно.
Короче Поддержите Юру подпиской — видно, что чувак шарит: клиик
📌 📅 Получение текущей даты и времени в нужном формате
Иногда нужно вывести дату и время в читаемом виде (например, для логов). Python делает это просто через модуль datetime.
🎯 Итог
Форматирование дат и времени в Python — гибкое и простое, можно подстроить вывод под любой формат (ISO, локальный, для логов и т. д.).
Иногда нужно вывести дату и время в читаемом виде (например, для логов). Python делает это просто через модуль datetime.
🎯 Итог
Форматирование дат и времени в Python — гибкое и простое, можно подстроить вывод под любой формат (ISO, локальный, для логов и т. д.).
👆Девочки, я дико извиняюсь, но мы нашли алмаз, где собраны лучшие мемы про работу — милый, я на созвоне
Начальнику вход строго запрещен! — @sozvon
Начальнику вход строго запрещен! — @sozvon
⚙️ Использование contextlib.suppress для игнорирования ошибок
Иногда нужно выполнить код, который может упасть, но ошибка при этом не критична.
Вместо громоздкого try/except, можно изящно подавить исключения!
🎯 Итог
Используй contextlib.suppress для безопасного выполнения кода, где ошибка не требует обработки. Это делает код компактнее и чище.
Иногда нужно выполнить код, который может упасть, но ошибка при этом не критична.
Вместо громоздкого try/except, можно изящно подавить исключения!
🎯 Итог
Используй contextlib.suppress для безопасного выполнения кода, где ошибка не требует обработки. Это делает код компактнее и чище.
🧵 Параллельное выполнение задач с ThreadPoolExecutor
Если нужно ускорить выполнение нескольких независимых операций (например, сетевых запросов или чтения файлов) — можно использовать потоки из concurrent.futures.
🎯 Итог
ThreadPoolExecutor позволяет легко запускать несколько задач одновременно, экономя время на операциях ввода-вывода.
Если нужно ускорить выполнение нескольких независимых операций (например, сетевых запросов или чтения файлов) — можно использовать потоки из concurrent.futures.
🎯 Итог
ThreadPoolExecutor позволяет легко запускать несколько задач одновременно, экономя время на операциях ввода-вывода.
🕵️♂️ Измеряем время выполнения кода одной строкой
Иногда нужно быстро понять, сколько времени занимает выполнение участка кода. Можно сделать это без дополнительных библиотек.
🎯 Итог
Используйте time.perf_counter() для точного измерения времени выполнения кода — он лучше подходит для микробенчмарков, чем time.time().
Иногда нужно быстро понять, сколько времени занимает выполнение участка кода. Можно сделать это без дополнительных библиотек.
🎯 Итог
Используйте time.perf_counter() для точного измерения времени выполнения кода — он лучше подходит для микробенчмарков, чем time.time().
ЦУМ умер, Farfetch закрылся, перекупы и байеры обнаглели
Все, кого вы видите за соседними столиками в White Rabbit или Novikov, заказывают вещи через Fabur Concierge. Они официально сотрудничают с главными реселлерами в России и закупают редкие айтемы по спецценам.
Всё, что вам нужно, — отправить им в личку ссылку или фото товара, который хотите купить. Ребята найдут лучшую цену и самостоятельно займутся доставкой.
Кстати, у них есть свой Telegram-канал, где публикуются самые горячие предложения — например, прямо сейчас можно урвать сумочку Chanel или Birkin.
Все, кого вы видите за соседними столиками в White Rabbit или Novikov, заказывают вещи через Fabur Concierge. Они официально сотрудничают с главными реселлерами в России и закупают редкие айтемы по спецценам.
Всё, что вам нужно, — отправить им в личку ссылку или фото товара, который хотите купить. Ребята найдут лучшую цену и самостоятельно займутся доставкой.
Кстати, у них есть свой Telegram-канал, где публикуются самые горячие предложения — например, прямо сейчас можно урвать сумочку Chanel или Birkin.
🔄 Меняем местами значения без временной переменной
Во многих языках для обмена значениями приходится использовать временную переменную, что выглядит громоздко. В Python это делается в одну строку благодаря распаковке кортежей.
🎯 Итог
Python позволяет обменивать значения напрямую через множественное присваивание — без временных переменных и лишнего кода. Лаконично и понятно!
Во многих языках для обмена значениями приходится использовать временную переменную, что выглядит громоздко. В Python это делается в одну строку благодаря распаковке кортежей.
🎯 Итог
Python позволяет обменивать значения напрямую через множественное присваивание — без временных переменных и лишнего кода. Лаконично и понятно!
Изучили базу по Python и не знаете, как кодить еще лучше?
✅ Пройдите бесплатный курс по настройке инструментов Python в Академии Selectel.
Рассказываем, что изучать после основ и как не зациклиться на типовых навыках на старте. В программе курса:
🔸 освоим Python-инструменты для упрощения работы с кодом: SonarLint, Myry и другие;
🔸 протестируем библиотеку Tkinter, чтобы создавать приложения с графическим интерфейсом;
🔸 расскажем, как парсить данные с веб-сайтов и закрепить полученные знания на практике.
Все материалы бесплатные. Проходите курс в комфортном темпе в Академии Selectel: https://slc.tl/5hh0k
Реклама. АО "Селектел". erid:2W5zFG4vHkk
✅ Пройдите бесплатный курс по настройке инструментов Python в Академии Selectel.
Рассказываем, что изучать после основ и как не зациклиться на типовых навыках на старте. В программе курса:
🔸 освоим Python-инструменты для упрощения работы с кодом: SonarLint, Myry и другие;
🔸 протестируем библиотеку Tkinter, чтобы создавать приложения с графическим интерфейсом;
🔸 расскажем, как парсить данные с веб-сайтов и закрепить полученные знания на практике.
Все материалы бесплатные. Проходите курс в комфортном темпе в Академии Selectel: https://slc.tl/5hh0k
Реклама. АО "Селектел". erid:2W5zFG4vHkk
✅ Проверяем запуск скрипта напрямую: if __name__ == "__main__"
Иногда нужно, чтобы часть кода выполнялась только при прямом запуске файла, а не при его импорте в другой модуль. Новички часто удивляются, почему функции выполняются «сами». Python решает это с помощью специальной проверки.
🎯 Итог
Используйте if name == "__main__" чтобы управлять тем, выполняется ли код при прямом запуске или же файл лишь импортируется как модуль. Это делает программы чище и удобнее для повторного использования.
Иногда нужно, чтобы часть кода выполнялась только при прямом запуске файла, а не при его импорте в другой модуль. Новички часто удивляются, почему функции выполняются «сами». Python решает это с помощью специальной проверки.
🎯 Итог
Используйте if name == "__main__" чтобы управлять тем, выполняется ли код при прямом запуске или же файл лишь импортируется как модуль. Это делает программы чище и удобнее для повторного использования.
Примите участие в турнире для школьников «Решись!»
Турнир «Решись!» — онлайн-состязание для школьников 10—11-х классов по четырем направлениям: разработке, искусственному интеллекту, бизнес-аналитике, а также дизайну.
«Решись!» для школьников — это возможность:
— получить грант на обучение в Центральном университете до 100% и другие призы;
— пополнить портфолио;
— проверить знания в ИИ, разработке, дизайне и бизнес-аналитике;
— найти новых знакомых в чате турнира.
Для участия вы можете выбрать как одно направление, так и все четыре — решать вам.
🕒Регистрация продлится до 12 ноября, 16:00 мск, как и отборочный тур.
👉Подробности о турнире и регистрация на сайте
Турнир «Решись!» — онлайн-состязание для школьников 10—11-х классов по четырем направлениям: разработке, искусственному интеллекту, бизнес-аналитике, а также дизайну.
«Решись!» для школьников — это возможность:
— получить грант на обучение в Центральном университете до 100% и другие призы;
— пополнить портфолио;
— проверить знания в ИИ, разработке, дизайне и бизнес-аналитике;
— найти новых знакомых в чате турнира.
Для участия вы можете выбрать как одно направление, так и все четыре — решать вам.
🕒Регистрация продлится до 12 ноября, 16:00 мск, как и отборочный тур.
👉Подробности о турнире и регистрация на сайте
Безопасные параметры в SQL через SQLAlchemy
Новички часто формируют SQL строкой, подставляя значения через f-string → это приводит к SQL-инъекциям. Используйте bind-параметры (:param) — SQLAlchemy сам экранирует значения, защищая запрос.
Не формируйте SQL вручную через f-string.
Используйте :param + словарь → и сразу получаете безопасность и читаемость запроса.
Новички часто формируют SQL строкой, подставляя значения через f-string → это приводит к SQL-инъекциям. Используйте bind-параметры (:param) — SQLAlchemy сам экранирует значения, защищая запрос.
Не формируйте SQL вручную через f-string.
Используйте :param + словарь → и сразу получаете безопасность и читаемость запроса.