seniorpy | Unsorted

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

54326

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

Subscribe to a channel

Senior Python Developer

Plumbum

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

Основные возможности библиотеки:
— Удобный синтаксис для запуска команд и программ из Python кода. Позволяет вызывать команды командной строки так же просто, как обычные функции.
— Автоматическое формирование командной строки. Можно передавать аргументы и параметры в виде обычных переменных, Plumbum сам сформирует командную строку.
— Перенаправление ввода/вывода. Поддержка стандартных операторов Unix для работы с потоками данных.
— Проверка кодов возврата и обработка ошибок.
— Локальное или удаленное выполнение. Возможность запускать команды как локально, так и по SSH на удаленных хостах.

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

Senior Python Developer

Python пришел в телеграм!

Python — второй по популярности язык в мире. Он очень универсален: можно писать сайты, а можно искусственный интеллект. Теперь у Python есть русскоязычный канал. Это первоисточник всего, что появляется в платных курсах и остальных ресурсах. Стоит подписаться!

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

Senior Python Developer

#вопросы_с_собеседований
Что такое модульное программирование?

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

Основные преимущества модульного программирования:
— Повышение читаемости и понятности кода, так как каждый модуль отвечает за определенную функциональность.
— Возможность многократного использования модулей в разных частях программы.
— Упрощение тестирования и отладки, поскольку каждый модуль можно тестировать отдельно.
— Возможность распараллеливания разработки за счет разделения труда в команде.
— Упрощение поддержки и модернизации кода за счет его модульности.

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

Senior Python Developer

Функция zip()

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

Итератор возвращает кортежи, содержащие i-й элемент из каждой из последовательностей. Количество элементов в итоговом итераторе равно длине самой короткой последовательности.

zip можно использовать для "сшивания" вместе данных из нескольких списков. Например, имена и фамилии из двух списков можно комбинировать в один список имя-фамилия.
Результатом zip является итератор, который можно превратить в список или кортеж. Также на результат можно применять различные операции, такие как цикл for.

zip используется вместе с распаковкой кортежей, чтобы присвоить элементы нескольких итераторов переменным в цикле.

#это_база

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

Senior Python Developer

Погрузитесь в мир 🐍 Python и станьте разработчиком за рекордные 4 месяца с курсом от Merion Academy!

Все, кому интересно, получат 🚀 2 бесплатных урока, где познакомитесь с базой и сразу начнете писать свою первую программу.

🎁 Бонус – бесплатный интенсив по карьере, где HR-эксперты поделятся секретами успешного резюме и расскажут как проходить собеседования. 📚 А еще бесплатный гайд по изучению Python, который будет полезен для всех, кто хочет освоить этот язык.

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

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

Merion Academy – это экосистема доступного образования, которая включает в себя:

📍IT-базу знаний с полезными статьями.
📍merionacademy">Youtube-канал ,где простыми словами говорят о сложных вещах.
📍 IT-академию, где обучат востребованным направлениям по самым доступным ценам.

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

Senior Python Developer

Библиотека Typer

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

Основные возможности Typer:
— Декоратор @typer.command() для определения команд и подкоманд.
— Автоматический парсинг аргументов и опций.
— Валидация и tipped annotations для аргументов и опций.
— Автоматическая генерация help с описаниями.
— Встроенная поддержка Click для обратной совместимости.

Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.

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

Senior Python Developer

#вопросы_с_собеседований
Какие операции можно производить над отображениями?

Примером отображения в Python являются словари (dicts), с ними можно выполнять следующие основные операции:

— Получение значения по ключу: my_dict[key].
— Добавление или изменение пары ключ-значение: my_dict[key] = value.
— Удаление пары ключ-значение: del my_dict[key].
— Проверка наличия ключа: key in my_dict.
— Получение списка ключей: my_dict.keys().
— Получение списка значений: my_dict.values().
— Получение пар ключ-значение: my_dict.items().
— Очистка словаря: my_dict.clear().
— Копирование: new_dict = my_dict.copy().
— Объединение словарей: z = {**x, **y}.

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

Senior Python Developer

Находим подстроку

Ключевое слово in используется для проверки, содержится ли элемент в последовательности (список, кортеж, строка) или словаре.
Возвращает логическое значение True если элемент находится в последовательности/словаре, False если нет.

Что нужно знать про поиск подстроки в строке:
— Поиск чувствителен к регистру символов, т. е. различает заглавные и строчные буквы.
— Подстрока может состоять из одного символа.
— Поиск осуществляется слева направо по всей строке.
— Как только вхождение подстроки найдено — поиск прекращается.
— Можно искать все вхождения подстроки, обернув проверку в цикл.

#это_база

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

Senior Python Developer

Реклама АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033, erid: LjN8KJk8E

Всем привет! На связи Яндекс Практикум.

Сейчас наша команда продуктовых исследователей проводит исследование, связанное с профессией Python-разработчик, и мы ищем представителей разных компаний — тех, кто участвует в найме Python-разработчиков уровня Junior и Middle: технических лидов, лидов команд, hr-менеджеров.

Если вы участвуете в найме, хотите помочь нам и готовы пообщаться с нами (формат: около 60 минут в зуме) — заполните анкету и мы с вами свяжемся.

В знак благодарности за участие в исследовании поделимся небольшим приятным бонусом

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

Senior Python Developer

#вопросы_с_собеседований
К чему может быть применен декоратор?

Декораторы можно применять к:

— Обычным функциям, определенным с помощью def.
— Методам классов.
— Статическим методам и методам класса внутри классов.
— Lambda функциям.
— Методам встроенных типов в Python (например, к методам списков, словарей).

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

Senior Python Developer

Что делать, если среда разработки отказывается использовать автодополнение во всю силу? Правильно, искать обходные пути и изобретать велосипеды.

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

В статье Вова Туров, разработчик в Selectel, рассказывает, как решить эту проблему.

Читать статью: https://slc.tl/wx03w

@selectelcareers

Реклама ООО «Селектел» 2VtzqwZiuvP

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

Senior Python Developer

👉 Как с помощью методов ML можно очищать данные от выбросов?

Ждем вас 6 сентября в 20:00 мск на открытом уроке «Ищем выбросы методами ML» в рамках курса «Machine Learning. Professional» от OTUS

🔹 Поговорим про задачу поиска аномалий и изучим, как с помощью методов ML можно очищать данные от выбросов

🔹 В теории разберем несколько алгоритмов и применим их на практике.

📌 Результаты урока:
Вы освоите несколько методов поиска аномалий и на практике очистите данные от аномальных значений.

👉 РЕГИСТРАЦИЯ
https://otus.pw/3coS/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576. Информация о рекламодателе на сайте www.otus.ru. erid=LdtCK1f9t

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KCohN

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

Senior Python Developer

🗓 Подготовительный курс по Python-разработке. 990 рублей. Старт 6 сентября.

✔️Научиться понимать код на Python — а не переписывать
✔️Написать конвертер валют — ощутить вкус реального продакшена
✔️Создать основу своего пет-проекта — всего за 14 дней

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

Присоединяйтесь — https://ru.hexlet.io/link/fVAxUI

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8JyNtd

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

Senior Python Developer

Sketch

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

Основные возможности:
— Быстрый и эффективный подсчёт статистик по данным, таких как сумма, среднее, медиана, дисперсия.
— Аппроксимация распределений и плотностей вероятности.
— Вычисление квантилей, сглаживания, гистограмм.
— Тестирование статистических гипотез, оценка p-value.
— Генерация случайных чисел из разных распределений.

Sketch позволяет ускорить статистический анализ данных с помощью простого и интуитивного API и используется для:
— Первичного анализа и визуализации данных.
— Статистических тестов в научных исследованиях.
— Построения прототипов моделей машинного обучения.
— Анализа пользовательских действий и событий.
— Симуляции процессов на основе статистических моделей.

P. S. Пробуем новую систему борьбы со спамерами. Чтобы вы могли писать комментарии, админ должен принять вас в чат канала: /channel/+oYlNylfNiR01M2I6

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

Senior Python Developer

Humanize

Humanize — это библиотека, которая предоставляет функции для более удобочитаемого форматирования данных.

Основные возможности:
— Преобразование чисел в удобочитаемые строки.
— Форматирование дат и времени в понятные фразы типа "3 дня назад".
— Преобразование идентификаторов в удобные для чтения слоги.
— Сокращение длинных строк по словам для компактного отображения.

Humanize полезен в приложениях, где нужно отображать данные в интерфейсе:
— Веб-приложения для отображения статистики.
— Информационные табло и панели мониторинга.
— Системы аналитики для визуализации данных.
— CLI-интерфейсы для вывода данных пользователю.

Использование Humanize позволяет сделать отображение данных более естественным и понятным для человека. Это улучшает user experience приложения.

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

Senior Python Developer

Pyspark

Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных.

Основные возможности Pyspark:
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.
— В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.
— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных.

Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.

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

Senior Python Developer

#вопросы_с_собеседований
Что будет, если декоратор не возвращает ничего?

Если декоратор не возвращает ничего, то происходит следующее:
— Декоратор заменяет оригинальную декорируемую функцию на значение None.
— При попытке вызвать декорированную функцию произойдет ошибка AttributeError, поскольку None не является вызываемым объектом.
— Выполнение декорируемого кода на самом деле не происходит.
— Декоратор фактически "срывает" работу декорируемой функции, делая ее невызываемой.

Чтобы этого избежать, декоратор обязательно должен возвращать некоторое вызываемое значение — либо оригинальную функцию, либо другую функцию-обёртку.
Таким образом, не возвращая ничего декоратор нарушает ожидаемое поведение и "ломает" декорируемый код.

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

Senior Python Developer

28 сентября, 19:00
Selectel Python Meetup. Три уровня погружения: процессы под капотом, архитектура кода, развитие языка

Ребята из Selectel проводят митап для Python-разработчиков, где расскажут о сборе метрик и мониторинге, проектировании микросервисной архитектуры, изменениях в Python и о том, что ждет язык в будущем.

Темы докладов:

◽️ «Мультипроцессность и сбор метрик в Python: как построить мониторинг без сюрпризов», Никита Моторный, Selectel

◽️ «Заносим микросервисы и Kubernetes в облако», Александр Шишебаров, Selectel

◽️ «Такое ли светлое будущее у Python?», Денис Аникин, Райффайзенбанк

Всех, кто будет в этот день в Санкт‑Петербурге, приглашаем в офис Selectel: https://slc.tl/9ibwq

А если не сможете присоединиться лично, подключайтесь к трансляции по предварительной регистрации: https://slc.tl/z5hd7

Реклама ООО «Селектел» 2VtzqwowUb2

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

Senior Python Developer

Функция sorted

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

По умолчанию сортировка выполняется в возрастающем порядке. Для сортировки в убывающем порядке нужно указать аргумент reverse=True.
Для сортировки по определенному ключу можно использовать ключевой аргумент key. Он принимает функцию, которая извлекает ключ для сортировки из каждого элемента.

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

#это_база

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

Senior Python Developer

Click

Clickпопулярная библиотека для создания интерфейса командной строки (CLI) в приложениях Python.
Основные преимущества Click — простота использования, элегантный и понятный код, мощные возможности по созданию комплексных CLI. Работает на Python 3.6 и выше.

Возможности:
— Определение команд и групп команд с помощью декоратора @click.command().
— Декларативное описание аргументов и опций.
— Автоматический парсинг аргументов командной строки.
— Генерация help сообщения.
— Поддержка bash/zsh автодополнения.
— Вложенные команды и группы подкоманд.
— Цветной вывод в терминал.

Click широко используется для создания консольных утилит, CLI интерфейсов для web фреймворков, DevOps инструментов, скриптов автоматизации и других задач, где требуется командная строка.

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

Senior Python Developer

#вопросы_с_собеседований
Что такое коллизия?

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

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

Чтобы решить проблему коллизий, в Python используются разные стратегии, например:
— Цепочки: списки элементов внутри ячейки таблицы.
— Открытая адресация: подбор следующей свободной ячейки.
— Перехеширование: генерация нового хеша при коллизии.

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

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

Senior Python Developer

Метод get у словарей

Метод используется для получения значения по ключу. Синтаксис: dict.get(key)
Если ключ есть в словаре, возвращается соответствующее значение, если ключа нет, вместо ошибки возвращается значение None.

Можно задать customized значение, если ключ отсутствует: dict.get(key, customized_value)

Метод полезен, когда нет уверенности, что ключ присутствует в словаре, так как позволяет избежать ошибки при обращении к несуществующим ключам.

#это_база

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

Senior Python Developer

collections.Mapping

collections.Mappingэто абстрактный базовый класс, который представляет отображение ключ-значение.
Он наследуется встроенными типами словарей, такими как dict, а также другими типами, которые реализуют схожее поведение, например OrderedDict.

Класс Mapping определяет интерфейс, общий для всех отображений ключ-значение, включая такие методы как keys(), values(), items() и другие.
Это позволяет писать универсальный код, который будет работать с любым типом, реализующим этот интерфейс.

Например, Mapping часто используется вместе с isinstance или issubclass для проверки, является ли объект словарем. Также он полезен при написании функций, которым нужно принимать на вход отображения, но без привязки к конкретному типу как dict. Mapping гарантирует наличие основных методов словаря у переданного объекта.

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

Senior Python Developer

sets.isuperset()

Функция sets.isuperset() позволяет проверить, является ли один set подмножеством другого.
Она принимает в качестве аргумента другой set и возвращает boolean значение — True если первый set содержит все элементы второго, и False в противном случае.

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

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

Senior Python Developer

#вопросы_с_собеседований
Что будет если ошибку не обработает блок except?

Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.

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

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

Senior Python Developer

Распаковка массива

Распаковка массива (iterable unpacking) — это удобный синтаксис для присваивания элементов iterable объектов (списков, кортежей и т. д.) отдельным переменным.

Основные моменты, которые нужно знать:
— Распаковка производится с помощью звездочки *.
— Количество переменных должно соответствовать количеству элементов в iterable объекте, иначе возникнет ошибка.
— Можно использовать распаковку для пропуска элементов.
— Для сбора оставшихся элементов в список используется конструкция *others.
— Распаковка работает с вложенными списками.
— Формат распаковки можно использовать и при передаче аргументов в функции.

#это_база

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

Senior Python Developer

Комплексные числа

Комплексные числа представлены типом данных complex.

Комплексные числа можно создавать разными способами:
— Используя конструктор complex(a, b), где a — действительная часть, b — мнимая.
— Из вещественного числа, добавив к нему мнимую часть. Например, a + bj.
— Из строкового представления с помощью
complex(string).

С комплексными числами можно выполнять стандартные математические операции.
Для доступа к частям комплексного числа используются атрибуты real и imag.

Встроенные функции abs(), conjugate(), polar() позволяют получить модуль, сопряженное число и представление в тригонометрической форме.

#это_база

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

Senior Python Developer

rembg

Rembg — это библиотека для удаления фона из изображений.

Основные возможности:
— Автоматическое удаление фона с использованием нейросетей.
— Возможность точной настройки для сложных изображений .
— Поддержка изображений разных форматов — JPG, PNG, GIF и др.

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

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

Senior Python Developer

Ещё не записали ребёнка на программирование?

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

🎓 Выпускники школы:

- победители олимпиад: 90+ наград 
- чемпионы мира по робототехнике (WRO) 
- чемпионы по кибербезопасности: золотая медаль на MOSCOW CTF SCHOOL
- уже работают в Яндекс, Сбер, Kaspersky, VK и других топовых IT-компаниях.

✔️ Для школьников 3-10 классов! Сделайте первый шаг в большое будущее — регистрируйтесь на бесплатный открытый урок.

Реклама. ЧУ ДО "МОСКОВСКАЯ ШКОЛА ПРОГРАММИСТОВ". ИНН 9715290128. erid: LjN8KEncD

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

Senior Python Developer

Деструкторы

Деструкторы используются для освобождения ресурсов, занятых объектом, перед уничтожением самого объекта.
Деструктор определяется методом __del__() в классе и вызывается, когда счетчик ссылок на объект достигает нуля.

Используется в основном для закрытия файлов, подключений к БД.

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

#это_база

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