Перейти к содержимому
Технологии IT обновлён 18.03.2022

Senior Python Developer

Публикуем интересные/полезные фичи/библиотеки языка.

Публикации канала

ChainMap ChainMap — это инструмент из модуля collections, который позволяет объединить несколько словарей в один объект, доступный как единый словарь. Это удобно, когда вам нужно работать с несколькими словарями, представляющими разные области видимости или контексты, и вам нужно установить приоритеты доступа к данным. #для_продвинутых

Открыть в Telegram

uniformvariate uniformvariate – это функция из библиотеки numpy, которая используется для генерации случайных чисел из равномерного распределения. Синтаксис: numpy.random.uniformvariate(low, high, size=None) Параметры: low (float): Нижняя граница диапазона. high (float): Верхняя граница диапазона. size (int, optional): Размер возвращаемого массива. #для_продвинутых

Открыть в Telegram

Функция vonmisesvariate Функция vonmisesvariate из модуля random в Python используется для генерации случайных чисел, подчиненных распределению фон Мизеса, также известному как круговое нормальное распределение или распределение Тихонова. Аргументы функции: mu: Среднее значение угла, выраженное в радианах в диапазоне от 0 до 2π. kappa: Параметр концентрации, который должен быть больше или равен 0. Чем больше значение kappa, тем более концентрируется распределение вокруг среднего значения. #для_продвинутых

Открыть в Telegram

PyJWT PyJWT — это библиотека Python для работы с JSON Web Tokens (JWT). JWT — это компактный формат для передачи информации между сторонами, позволяющий обеспечить безопасность и аутентификацию. #для_продвинутых

Открыть в Telegram

👨🏻‍💻 AI в бэкенд-задачах — на Podlodka Backend Crew Код теперь может написать агент, но за результат всё ещё отвечаете вы. Организаторы Podlodka Backend Crew собрали конференцию о том, как работать с бэкендом после того, как AI написал код. Причём в программе нет докладов в жанре «у нас все получилось» — только реальная практика. Конференция пройдёт с 26 по 30 октября. 🧠️️️️ Участники сезона: • Разберут пулл‑реквесты от агента и попробуют предотвратить возможные инциденты на рулетке кейсов • Выяснят, какие неожиданные ловушки скрываются в OpenAPI и на что обращать внимание при разработке контрактов • Разберут антипаттерны в AI-юнит-тестах, узнают, как их избежать с помощью современных инструментов, и заберут себе новый агентский скилл • Спроектируют бэкенд дейтинг-приложения на архитектурной кате и решат, где в нём действительно нужен AI. Формат Podlodka Backend Crew — комфортный онлайн: 5 дней, утренние и вечерние сессии в Zoom. Отдельный плюс — цена: заметно ниже привычных конференций, при этом вы не просто слушаете о чужом опыте, а разбираете PR и отвечаете за релиз, проектируете систему в команде и расследуете чужие провалы. Такого вовлечения не получить на обычной конференции. 🔗 Изучайте программу и присоединяйтесь: https://podlodka.io/becrew Скидка по промокоду backendSenior

Открыть в Telegram

Trio Trio — это библиотека асинхронного программирования для Python, которая упрощает написание высокопроизводительных и масштабируемых приложений. Она основана на модели "async/await" и предоставляет ряд инструментов для работы с асинхронными операциями, такими как сетевые запросы, обработка файлов и I/O. #для_продвинутых

Открыть в Telegram

#вопросы_с_собеседований Что такое замыкание? Замыкание (closure) — это функция, которая запоминает значения переменных из области видимости, в которой она была создана, и может получить к ним доступ, даже если она будет вызвана за пределами этой области видимости. Ключевым моментом является то, что замыкание запоминает ссылки на переменные, а не сами значения. Это позволяет обращаться к актуальным значениям переменных даже после того, как функция, создавшая замыкание, завершила работу. Обычно замыкания используются, если нужно: — Создать функцию с сохранением некоторого состояния между вызовами. — Избежать использования глобальных переменных и повысить инкапсуляцию. — Частично применить функцию без вызова (создание другой функции). В Python замыкания реализуются элегантно и просто с помощью вложенных функций. Это мощный механизм, позволяющий писать короткий и чистый код.

Открыть в Telegram

collections.Counter Collections.Counter — это класс, предназначенный для подсчета хешей (hashable объектов). Он позволяет удобно и эффективно подсчитывать вхождения элементов в какой-либо последовательности. Основное отличие Counter от обычного словаря в том, что он не выбрасывает исключение, если ключ не существует, а просто создает новый ключ со значением 0. Это упрощает подсчет элементов. Counter может принимать на вход любую итерируемую последовательность (список, кортеж и т.д.). Основные способы использования Counter: — Подсчет слов или букв в тексте. — Подсчет появления элементов в списке или итераторе. — Нахождение наиболее часто встречающихся элементов. — Использование при решении задач на вероятность и статистику.

Открыть в Telegram

💻 Зависимости Python-проекта можно устанавливать и обновлять быстрее — если правильно настроить инструменты. На открытом уроке разберём uv — современный инструмент для управления Python-проектами и зависимостями. 🔥 Вы на практике: — изучите ключевые концепции uv; — разберёте основные команды для управления проектом и зависимостями; — узнаете, как использовать uv при сборке Docker-образов; — поймёте, как применять uv в своих проектах. В результате сможете увереннее работать с зависимостями, улучшить удобство разработки и ускорить сборку проекта. Урок будет полезен всем, кто использует Python и хочет освоить современный инструмент uv. Открытый урок проходит в преддверии старта курса «Python-разработчик. Продвинутый уровень». ⏰ 29 октября в 20:00 МСК. Участие бесплатно: https://otus.pw/IIjm/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Открыть в Telegram

collections.MutableMapping Collections.MutableMapping — это интерфейс, который представляет изменяемое отображение (словарь). Он наследуется от интерфейса Mapping и добавляет методы для изменения отображения, такие как __setitem__, __delitem__ и clear. Основное преимущество в использовании MutableMapping — это возможность передавать экземпляры такого класса в любое API, ожидающее словарь. Например, во многих функциях в стандартной библиотеке есть параметры типа dict. Если создать класс, реализующий MutableMapping, его экземпляры можно будет передавать в такие функции.

Открыть в Telegram

Атрибут __slots__ Этот атрибут позволяет ограничить создание новых атрибутов в экземплярах класса. __slots__ определяется как список имен атрибутов в определении класса. Экземпляры класса с __slots__ могут иметь атрибуты только с именами, определенными в __slots__. Попытка создать новый атрибут приведет к ошибке. Использование __slots__ экономит память, так как экземпляры не создают словарь __dict__ для атрибутов. __slots__ не наследуются, для каждого подкласса нужно определять свои слоты. Атрибут полезен, когда заранее известны все атрибуты класса и не нужна динамическая задача новых. Например, для простых данных или immutable классов. #это_база

Открыть в Telegram

Функции, поддерживающие только именованные аргументы (kwargs) **kwargs (keyword arguments) — это способ передачи произвольного количества именованных аргументов в функцию. В функциях после позиционных и обычных именованных аргументов указывают параметр **kwargs. В kwargs передаются аргументы в виде ключ-значение. Внутри функции kwargs становится словарем, где ключи — имена аргументов, значения — значения аргументов. Благодаря этому через kwargs можно передать любое количество дополнительных аргументов в функцию. Если одновременно используются *args и **kwargs, то в вызове сначала указываются *args. #это_база

Открыть в Telegram

#вопросы_с_собеседований Что такое фабрика декораторов? Фабрика декораторов — это особая разновидность функции высшего порядка, которая возвращает декоратор вместо прямого результата. Главное отличие фабрики декораторов от обычного декоратора в том, что она принимает аргументы, которые могут конфигурировать логику декоратора. Например, фабрика может принимать имя лог-файла, в который будет производиться запись при вызове декорируемой функции. Или уровень логирования вместо простой записи всех вызовов. Такой подход позволяет создавать переиспользуемые и гибко настраиваемые декораторы для решения разных задач. Главные преимущества фабрик декораторов — это возможность абстрагироваться от конкретики реализации, избежать дублирования кода и создавать интуитивный API для декораторов с настройками.

Открыть в Telegram

#вопросы_с_собеседований Как Python ищет модули при импорте? При импорте модулей интерпретатор следует определенному алгоритму поиска: 1. Сначала проверяются встроенные модули, которые поставляются в составе самого Python. 2. Затем по порядку просматриваются пути, перечисленные в sys.path — глобальной переменной, которая содержит список каталогов для поиска модулей. По умолчанию в sys.path входят: текущий рабочий каталог скрипта, PYTHONPATH — каталоги указанные в этой переменной окружения, каталоги стандартной библиотеки Python. 3. Если модуль не найден — генерируется исключение ImportError.

Открыть в Telegram

+1 навык в копилку Разбираемся с одной из самых популярных СУБД Умение работать с СУБД PostgreSQL — база, которая точно не будет лишней. В бесплатном курсе от Selectel собрали все необходимое для погружения: от основ реляционной модели до создания таблиц и работы со сложными запросами. Вы актуальную теорию, практические задания и экономию десятков часов на самостоятельных поисках информации. Курс подойдет как для первого знакомства с PostgreSQL, так и чтобы освежить и структурировать знания. Регистрируйтесь и начните обучение бесплатно Реклама. АО "Селектел". erid:2W5zFJyeSeu

Открыть в Telegram

Argcomplete Argcomplete — это библиотека для автодополнения аргументов командной строки. Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh). Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register. Основные возможности argcomplete: — Автоматическое дополнение имен файлов и каталогов при вводе путей. — Предложение вариантов для аргументов на основе возможных значений, описанных через argparse. — Дополнение для подкоманд в приложениях с вложенной структурой команд.

Открыть в Telegram

🤔 API работает — но как убедиться, что после очередного изменения оно продолжит работать корректно? На открытом уроке разберём, как автоматизировать проверку FastAPI-приложений с помощью pytest и TestClient. 🔥Вы на практике: — отправите запросы к приложению через TestClient; — напишете тесты для корректных и некорректных данных; — проверите HTTP-статусы и содержимое JSON; — разберётесь, как подменять зависимости приложения для проверки нужного поведения. Урок будет полезен Python-разработчикам, которые уже создают API, и начинающим разработчикам серверной части, которые пока тестируют приложения вручную. Открытый урок проходит в преддверии старта курса «Python-разработчик». ⏰26 октября в 20:00 МСК. Принять участие: https://otus.pw/9dZFb/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram