seniorpy | Unsorted

Telegram-канал seniorpy - Senior Python Developer

54326

№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Subscribe to a channel

Senior Python Developer

➡️ Использование contextlib.contextmanager для создания контекстных менеджеров

Иногда бывает нужно создать собственный контекстный менеджер для управления ресурсами, такими как файлы или сетевые соединения.

✔️ В Python для этого можно использовать декоратор contextlib.contextmanager, что делает код простым и элегантным.

Читать полностью…

Senior Python Developer

➡️ Извлечение уникальных элементов из списка с сохранением порядка

🗣️ Обычно, когда нужно получить уникальные элементы из списка, используют set. Однако это нарушает порядок элементов.

Чтобы извлечь уникальные элементы, сохраняя их порядок, можно использовать следующую технику:

Используем список для обхода элементов и set, чтобы отслеживать уже встреченные элементы, избегая их дублирования.

Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.

Читать полностью…

Senior Python Developer

➡️ Модификация байт-кода функции в Python с использованием модуля byteplay3

Продвинутые программисты могут использовать модификацию байт-кода для изменения поведения функции на низком уровне.

✔️ Это позволяет создавать динамические изменения в функции без её переписывания на уровне исходного кода. В Python можно использовать модуль byteplay3 для работы с байт-кодом.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

⚠️Не будьте тем, кто узнаёт об угрозах ИБ слишком поздно!

Бесплатный вебинар от курса «Информационная безопасность. Professional», который будет проводить Сергей Терешин - сертифицированный специалист по решениям информационной безопасности от компании Check Point, McAfee, Group -IB, Microsoft, Positive Technologies, Лаборатория Касперского. С опытом в отрасли телеком/ИТ/ИБ более 18 лет.

«Искусственный интеллект - новый вызов в кибербезопасности»
📅 23 октября, 20:00

 Разбираем, что такое ИИ в контексте ИБ, какие атаки возможны на ИИ, и как составить модель угроз: от prompt-injection и data poisoning до безопасной работы с контекстом и ролями. Итог: аргументы «за/против» внедрения ИИ в вашей компании и первые шаги для архитектора/руководителя ИБ.
Если у вас в компании уже тестируют GigaChat/YandexGPT или строите антифрод - приносите свой кейс на урок, разберем вместе.

А также на вебинаре Сергей Терешин подарит всем участникам приятный бонус!🎁

🔥 Этот вебинар - ваш шанс обновить знания и быть на шаг впереди угроз, прежде чем они станут проблемой. Записывайтесь на вебинар: https://otus.pw/E21w/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Python Developer

➡️ Boltons — удобные утилиты для повседневного программирования

Boltons — это коллекция чистых и надежных утилит, которые помогут вам ускорить разработку. В библиотеке вы найдете множество полезных функций для работы со структурами данных, файловой системой, логированием и многим другим.

🗣 Boltons — отличное дополнение к стандартной библиотеке Python, особенно если вам нужно быстрое решение для типичных задач.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

⚙️ Использование модуля sys.settrace для отладки и профилирования

В Python есть малоизвестная, но мощная функция — sys.settrace(), которая позволяет установить собственный обработчик трассировки для отладки и профилирования кода.

➡️ С её помощью можно отслеживать выполнение каждого вызова функции, строки или даже изменения локальных переменных в программе.

Читать полностью…

Senior Python Developer

⚙️ Использование dataclasses для создания неизменяемых объектов

В Python 3.7 и выше можно использовать модуль dataclasses для создания простых классов данных.

🗣️ Одной из интересных возможностей является создание неизменяемых (immutable) объектов, которые не могут быть изменены после создания.

Читать полностью…

Senior Python Developer

➡️ Декоратор для кэширования результатов функций с учетом аргументов

Иногда необходимо кэшировать результаты функции для повышения производительности, особенно если функция выполняет тяжелые вычисления или обращения к внешним ресурсам.

🗣️ Данный декоратор кэширует результаты функции в зависимости от переданных аргументов, что делает его гибким и эффективным.

Читать полностью…

Senior Python Developer

Python или не Python? Вот в чём вопрос… на обсуждение в формате круглого стола на Python-митапе от Авито!

Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:

кейс оптимизации GC в Python от Саши Федосеева, backend-инженера из команды Main Page Tech Авито;
как mypy укрощает Python в большой компании вместе с Сергеем Яхницким из Яндекса.

После докладов, как и сказали выше, вместе с участниками спикеры обсудят, подходит ли Python для запуска больших нагруженных решений в формате круглого стола.

Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.

Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке.

Читать полностью…

Senior Python Developer

Уже 23 октября узнаем больше о хакрдкорной разработке dev-to-dev решений

Техплатформа Городских сервисов Яндекса
проводит митап, на котором эксперты поделятся опытом создания архитектуры нагруженной системы, обрабатывающей сотни тысяч rps в брокере сообщений на MongoDB, и как писать IO-bound сервисы под высокими нагрузками на С++ так же как на Go.

В программе выступления Антона Полухина, Ромы Елизарова, Лёши Иванова и Влада Назарова, а также нетворкинг в неформальной атмосфере.

Если интересуетесь разработкой dev-to-dev решений и вы опытный разработчик, обязательно приходите.

👉 23 октября, сбор гостей с 18:00
👉 Москва, офлайн

Регистрируйтесь и зовите коллег!

Мероприятие бесплатное. Количество мест ограничено — пожалуйста, дождитесь нашего подтверждения.

Реклама. ООО «Яндекс.Такси» ИНН 7704340310

Читать полностью…

Senior Python Developer

#вопросы_с_собеседований
В каких ситуациях возникает исключение NotImplementedError?

Исключение NotImplementedError возникает, когда метод или функция должны быть реализованы в подклассе, но не были реализованы. Это может произойти, когда родительский класс определяет метод, но не реализует его сам, а оставляет это для подклассов. В этом случае, если подкласс не реализует метод, он будет вызывать исключение NotImplementedError. Это может быть полезно для отладки, чтобы убедиться, что все необходимые методы реализованы в подклассах. Это также может возникнуть в
других ситуациях, например, если вы пытаетесь использовать неопределенную функцию или метод.

Читать полностью…

Senior Python Developer

whylogs

whylogs — это библиотека для профилирования и анализа данных в Python. Она предоставляет средства для сбора статистики о данных, визуализации этой статистики и создания профилей данных для мониторинга и анализа.

#для_начинающих

Читать полностью…

Senior Python Developer

Погружение в метаклассы в Python

Если вы не поймете некоторые вещи в этом прологе, то не расстраивайтесь. Я постараюсь объяснить последовательно, от простого к сложному. Однако для полного понимания этого текста надо знать как основы синтаксиса языка Python, так и ООП в Python.

Смотртеть статью

Читать полностью…

Senior Python Developer

Altair

Библиотека Altair — это декларативная библиотека для создания статистических визуализаций.
Она основана на спецификации Vega-Lite и позволяет создавать сложные графики с минимальным количеством кода.

Altair предоставляет простой синтаксис для создания графиков, а также интегрируется с Jupyter Notebook и JupyterLab для интерактивного отображения графиков.

Результат работы кода — столбчатая диаграмма, отображающая цены на разные виды фруктов.

Если вы хотите сохранить график в виде файла, вы можете использовать метод save().

*На втором изображении представлен результат работы программы.

Читать полностью…

Senior Python Developer

Emot

Библиотека Emot предназначена для распознавания эмодзи в тексте.


Она может очень пригодиться, когда нам нужно предварительно обработать текстовые данные, чтобы удалить эмотиконы и эмодзи или изучить их влияние на семантику. Функции библиотеки принимают на вход строку и возвращают список словарей.

Читать полностью…

Senior Python Developer

Поговорим про деньги в IT?

Приглашаем опытных IT-специалистов пройти небольшой опрос про зарплаты и бенефиты в технологических компаниях. Это займёт не более 7 минут — а ваше мнение поможет одному крупному российскому работодателю делать актуальные оферы.

Пройти опрос можно здесь

Читать полностью…

Senior Python Developer

⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python

Иногда требуется ограничить время выполнения функции, чтобы предотвратить зависание или длительное выполнение задачи.

🗣️ В Python можно использовать модуль signal для установки тайм-аутов на выполнение кода.

Читать полностью…

Senior Python Developer

➡️ Pyfiglet — генерация ASCII-арт текста

Pyfiglet — это библиотека Python, которая позволяет легко создавать красивый ASCII-арт текст прямо в консоли. Идеально подходит для добавления стилизованных заголовков и баннеров в ваши консольные приложения.

🗣 Отличный способ оживить вывод вашего кода и привлечь внимание к важным сообщениям.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

➡️ PandasGUI — графический интерфейс для работы с DataFrame

PandasGUI — это удобный инструмент, который предоставляет графический интерфейс для работы с Pandas DataFrame. Он позволяет визуализировать, фильтровать и редактировать данные прямо в интерактивном окне, что делает анализ данных более интуитивным и быстрым.

🗣 Отличный способ ускорить анализ данных, особенно если вы привыкли работать с Pandas в Jupyter Notebook.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

➡️ Использование дескрипторов для управления доступом к атрибутам

Дескрипторы — это мощный, но часто недооцененный механизм в Python, который позволяет управлять доступом к атрибутам объектов. С помощью дескрипторов можно реализовать логику при чтении, записи или удалении атрибутов класса.

Дескриптор — это объект, который управляет доступом к другому объекту. Для этого используются методы __get__, __set__ и __delete__.

В примере выше дескриптор PositiveNumber контролирует запись значения в атрибут. Если значение отрицательное, выбрасывается ошибка. Это позволяет реализовать проверку значений на уровне атрибутов.

Дескрипторы позволяют инкапсулировать логику доступа в отдельный класс, который можно переиспользовать в нескольких местах, улучшая структурированность и читаемость кода.

Читать полностью…

Senior Python Developer

🚫👩‍💻 🚫 Как не нужно писать на Python

Приглашаем на открытый урок.

🗓 27 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса
«Python Developer. Professional».

Даже опытные разработчики порой создают код, который работает — но жить с ним потом невозможно. На открытом уроке разберём типичные ошибки и антипаттерны в Python, поговорим о причинах появления «плохого» кода и способах сделать его понятнее, стабильнее и быстрее. Рассмотрим как распространённые, так и неожиданные примеры, которые помогут взглянуть на привычные решения под новым углом.

На вебинаре разберём:
✔️ Основные антипаттерны и неудачные практики в Python-разработке
✔️ Почему появляются «плохие» решения и как их вовремя распознать
✔️ Подходы и инструменты, которые помогают улучшить качество кода

В результате вебинара вы:
✔️Поймёте, чего стоит избегать при написании кода на Python
✔️Научитесь видеть и исправлять проблемные участки в своих проектах
✔️Узнаете, как писать читаемый, поддерживаемый и эффективный код

🔗 Ссылка на регистрацию: https://otus.pw/j5s1/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Python Developer

❤️ Приходите на Backend Talks от Яндекс 360
Санкт-Петербург, 13 ноября в 19:00

Разберём архитектуру облачной записи встреч, наведём порядок в API и покажем, как простые решения спасают сервисы.

В программе:

📌 Как не упустить важное: архитектура облачной записи и конспектирования видеовстреч в Телемосте — Илья Григорьев, разработчик бэкенда Телемоста.

📌 Укрощение API: процессы и инструменты, которые действительно работают — Никита Ломакин, разработчик в команде Техплатформы.

📌 Как мы закапывали звездолёт: почему важно отстаивать простоту на архревью — Артемий Коцюбенко, разработчик протокольных сервисов Почты.

Команда Яндекс 360 работает с нагрузками >1.000.000+ RPS и создает продукты которыми пользуются 95+ млн человек каждый месяц — Диск, Почта, Телемост, Мессенджер и другие.

🍻А после докладов вас будут ждать афтепати и нетворкинг!

Регистрируйтесь по ссылке

Читать полностью…

Senior Python Developer

⚙️ Ленивая инициализация свойств с помощью дескрипторов

➡️ Дескрипторы в Python позволяют управлять доступом к атрибутам объекта.

🗣️ С их помощью можно реализовать ленивую инициализацию свойств, что особенно полезно для дорогостоящих операций, которые нужно выполнять только при первом обращении к свойству

Читать полностью…

Senior Python Developer

➡️ Typer — простой способ создания командных интерфейсов

Typer — это библиотека Python, которая упрощает создание интерфейсов командной строки (CLI). Она строится на основе аннотаций типов и значительно сокращает количество кода, необходимого для создания мощных и удобных командных утилит.

🗣 Если вам нужно быстро создать CLI для своего проекта, Typer — отличный выбор.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

➡️ Yarl — Удобная работа с URL

Yarl — это библиотека Python, предназначенная для удобной работы с URL-адресами. Она предоставляет API для создания, изменения и анализа URL-адресов, сохраняя при этом их семантическую корректность.

🗣 Если вы работаете с URL-адресами и хотите упростить их обработку в Python, Yarl может быть отличным выбором.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

Генерируем фейковый профиль человека

С помощью метода profile пакета Faker мы с легкостью может получить информацию о несуществующем человеке.

Документацию можно найти здесь.

Читать полностью…

Senior Python Developer

Карьерный буст, робот в подарок и призовой фонд 7 500 000 рублей 🤖
Успей зарегистрироваться до 20 октября.


Все это ждет участников трека «Программирование роботов» на всероссийском ИТ-чемпионате МТС True Tech Champ 2025. Присоединяйся, если пишешь на С++, Go, Python, JS, Java, C# или другом языке.

Соревнования пройдут в командах от 2 до 4 человек в несколько этапов:

Квалификация. Тебе предстоит запрограммировать робота на прохождение виртуального лабиринта.
Полуфинал. Ты будешь дистанционно управлять роботом на офлайн-полигоне и наблюдать за его перемещениями в трансляции.
Финал. За две недели до финала организаторы отправят тебе настоящего робота для кастомизации. Ты сможешь модифицировать его, чтобы он оказался быстрее других в многоуровневом офлайн-лабиринте и смог выбить соперников с платформы в шоу-битве.

Команды финалистов получат по одному роботу Waveshare Cobra Flex в подарок и сразятся за крупные денежные призы: 4 000 000 ₽ за первое место, 2 500 000 ₽ за второе и 1 000 000 ₽ за третье.

Еще ты сможешь:

— Получить практический опыт работы с инструментами, с помощью которых создают домашних и промышленных роботов.
— Прокачать компетенции, которые помогут развиваться в ИТ.
— Заявить о себе на всю Россию и ускорить свой профессиональный рост.

📍 Финал состоится 21 ноября в МТС Live Холл в Москве.
👉🏻 Регистрируйся на сайте до 20 октября.

Читать полностью…

Senior Python Developer

High-speed VDS — решение для Python-разработчиков, которым важны скорость, стабильность и полный контроль:

Процессоры Intel Xeon Gold 3-го поколения: высокая производительность при любых задачах — от обработки запросов до численных расчетов.

Сеть до 10 Гбит/с, безлимитный трафик: никаких неожиданных ограничений при работе с API, базами данных или внешними сервисами.

Быстрый старт: автоматическая установка Ubuntu/Debian — разверните окружение и запустите uvicorn или celery за пару минут.

Гибкая тарификация: платите посуточно, без комиссий и переплат — идеально для тестов, стендов и MVP.

Быстрое масштабирование: добавляйте CPU, RAM или SSD к существующему серверу без пересоздания.

Скидки на длительную аренду: оставайтесь с нами на еще более выгодных условиях.

Круглосуточная поддержка в чате: быстро реагирует на любые вопросы.

Подходит для веб-приложений на Django/FastAPI/Flask, ботов, парсеров, ML-стендов, CI/CD и любых Python-проектов, где важна скорость и надежность.

🔗 Попробуйте — и почувствуйте разницу!

Читать полностью…

Senior Python Developer

DABL

Data Analysis Baseline Library (DABL) — это библиотека, разработанная для упрощения анализа данных и построения моделей машинного обучения.


Она предоставляет инструменты для автоматической предобработки данных, визуализации и выбора моделей. DABL основана на библиотеках, таких как pandas, scikit-learn и matplotlib.

В этом примере мы использовали DABL для анализа данных, визуализации и построения модели машинного обучения. Результат работы кода представлен на втором изображении.

Читать полностью…

Senior Python Developer

Дан целочисленный массив nums, вернуть [nums[i], nums[j], nums[k]] такие, что nums[i] + nums[j] + nums[k] == 0.

В нашем решении сначала список nums сортируется. Затем перебираются все возможные комбинации индексов i, j и k. Их сумма проверяется на равенство target и добавляется в результирующий сет, если равна.

#разбор_кода

Читать полностью…
Subscribe to a channel