seniorpy | Unsorted

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

54326

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

Subscribe to a channel

Senior Python Developer

Ты будешь жалеть, что не узнал это о девушках раньше.

На канале Творчество чувств автор с многолетним опытом всех форматов отношений рассказывает о тонкостях женской психологии, которые ВАЖНО узнать перед тем, как подкатывать к той самой:

— Почему 95% девушек непригодны для построения отношений?
— 3 признака, кричащие о том, что девушка точно изменит в будущем
— Как за несколько сообщений влюбить в себя любую девушку


Подпишись и узнай секрет женской симпатии:
t.me/+NcZ3vFzbiY5mYWI6

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

Senior Python Developer

Проверка истинности объекта класса

Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магический" метод __bool__(), который был добавлен на замену устаревшему __nonzero__() в python2.

Если данный метод определен в классе, то он будет вызываться при каждой проверке объекта на истинность а также с помощью функции bool(). Метод должен возвращать False или True.

Если __bool__() не определен, будет вызываться метод __len__(), если он определен, и, соответственно, объект будет считаться истинным, если результат __len__() не будет равен нулю. Если в классе не определены ни __len__(), ни __bool__(), все его экземпляры будут истинными.

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

Senior Python Developer

#vacancy #вакансия #Python #Tech_Lead

Technical Lead Backend на Python в Фемиду
Яндекс
Москва, Санкт-Петербург
гибрид /удалёнка
Tech Lead

Фемида — это система, которая делает наём в Яндексе по-настоящему быстрым, эффективным и современным. Внутри Яндекса мы позволяем автоматизировать подбор лучших кандидатов, и наш сервис уже используется не только в России, но и в других странах, помогая компаниям по всему миру расти и развиваться быстрее.
Вы станете главным архитектором и техническим драйвером backend-направления в одной из ключевых команд. Главная ставка — на умение продумывать архитектуру, развивать сервисы и доводить их до идеального состояния для бизнеса и конечных пользователей. People management не требуется: команда ждёт человека, внутри которого — двигатель профессионализма и архитектурной зрелости!

Почему это классная возможность
• Прямая ответственность за архитектуру продукта, который превращает наём в суперсилу огромной компании.
• Редкий шанс строить сервис под себя — вокруг сильной команды без жёсткой бюрократии. Зато у нас высокие требования к самостоятельности, гибкости, умению находить лучшие решения.
• Простор для технических экспериментов: приветствуются идеи, спор, драйв и желание не просто поддерживать, а развивать. Если вы мечтаете оставить свою подпись в архитектуре крупного продукта с реальным влиянием на весь Яндекс — откликайтесь!

Какие задачи вас ждут
Декомпозиция монолита
Спроектировать и реализовать отделение одного или нескольких сервисов от большого монолита, выстраивать современную микросервисную архитектуру.
Архитектура и ролевые модели
Переработать и усовершенствовать ролевую модель, сделать её гибкой, прозрачной, безопасной.
Производительность
Вести рефакторинг сложного кода, строить систему метрик и алертинга для контроля производительности.
Влияние
Работать над платформой, которой пользуются топовые рекрутеры и СТО Яндекса; каждый релиз - вклад в развитие бизнеса.

Мы ждем, что вы
• Шикарно владеете Python, знаете и любите его глубоко
• Продумывали архитектуру, запускали сервисы с нуля, рефакторили масштабные решения
• Плотно работали с PostgreSQL, MongoDB, Redis, умеете оптимизировать запросы
• Глубоко понимаете современные Python-фреймворки (Django, FastAPI, Flask)
• Писали и интегрировали RESTful API, разбираетесь в HTTP, JSON, умеете документировать API
• Знаете, как построить тестовую инфраструктуру (PyTest, unittest и др.), автоматизацию CI/CD (хотя бы на уровне GitLab)
• Знаете методы аутентификации (OAuth, JWT), методы защиты (CSRF, XSS)
• Умеете быстро анализировать, находить и чинить bottlenecks в сложных системах
• И главное — хотите влиять на бизнес и продукт, а не просто закрывать таски

Будет плюсом, если вы
• Работали с Docker, Kubernetes, облаками (любым провайдером)
• Писали на Go и не боитесь пару строчек легаси поддержать
• Любите писать понятную документацию кода, ввели привычку делать Docstrings и Sphinx (или аналоги)
• Инициативны, не боитесь предлагать перемены, умеете убедительно их внедрять

С нас как всегда: помимо интересных задач — ДМС, развитие, спорт, скидки и пр.

Узнать подробнее и откликнуться.

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

Senior Python Developer

Заменяем часть строки

Со строками в Python работать очень удобно, так как встроенных методов для них довольно много. Одним из методов является str.replace(), который позволяет заменять части строк.

Первым аргументом передается подстрока, которая будет изменяться в исходной строке. Вторым аргументом — то, на что будет заменяться.

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

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

Senior Python Developer

Метод Counter.elements()

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

Элементы возвращаются в порядке их появления. Если количество элементов меньше единицы, то метод Counter.elements() просто проигнорирует его.

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

Senior Python Developer

Горизонтальное склеивание изображений

Что для этого нужно сделать:
• Открыть изображения
• Изменить размер изображения с помощью функции Resize() . Оба изображения с измененным размером должны иметь одинаковую ширину и высоту, чтобы их соотношение сторон не изменилось и их можно было вставить в новое фоновое изображение.
• Для создания нового изображения у него есть функция new() , которая имеет 3 параметра («режим», (размер), цвет).
• Вставить изображение в новое изображение, используя paste().

Ниже приведен результат работы кода.

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

Senior Python Developer

Pillow

Pillow является ответвлением Python Imaging Library. Эта библиотека подойдет для создания миниатюр, преобразования изображений в различные форматы, наложения фильтров, вращения и отображения изображений и т.д. К тому же это идеальный вариант для пакетной обработки большого количества картинок.

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

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

Senior Python Developer

Напишите программу на Python для локального сохранения изображения из Интернета, URL-адрес которого известен

Ответ на картинке.

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

Senior Python Developer

Модуль gzip

Модуль gzip предоставляет простой интерфейс для сжатия и распаковки файлов, как это делают программы GNU gzip и gunzip.

Сжатие потока данных обеспечивается модулем zlib.

Модуль gzip предоставляет класс gzip.GzipFile(), а также удобные функции gzip.оpen(), gzip.compress() и gzip.decompress(). Класс gzip.GzipFile() читает и записывает файлы формата gzip, автоматически сжимая или распаковывая данные, чтобы они выглядели как обычный файловый объект.

Обратите внимание, что дополнительные форматы файлов, которые могут быть распакованы программами gzip и gunzip, например созданные с помощью команды bash compress и pack, этим модулем не поддерживаются.

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

Senior Python Developer

Абстракция множеств

Так же, как и в случае со списками и словарями, при работе с множествами можно воспользоваться так называемой абстракцией множеств (set comprehension). Делается это путём добавления обрабатываемого выражения в фигурные скобки и через возврат единственного мутабельного элемента на каждом проходе цикла: { <element> for ... in ... }.

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

Senior Python Developer

Как масштабировать машинные модели и работать с огромными объемами данных? Откройте для себя возможности Spark ML на открытом уроке от OTUS!

Spark ML — это мощный инструмент для масштабируемого машинного обучения, который позволяет обучать модели на больших данных, не переходя на специализированные ML-системы. Мы покажем, как интеграция с Spark SQL и DataFrame API упрощает ETL-подготовку данных и фичуризацию для реальных проектов.

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

Посетите открытый урок 11 июня в 20:00 МСК в преддверие старта курса «Spark Developer» и получите скидку на обучение: https://otus.pw/DwEs/

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

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

Senior Python Developer

Как я стал Python-разработчиком с нуля — мой опыт становления тестировщиком

Тестировщик — специалист, который отлавливает ошибки на всех этапах разработки проекта.

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

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

Senior Python Developer

Метод re.sub()

re.sub(pattern, repl, string)

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

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

Senior Python Developer

Преобразуем текст в аудио

Чтобы изменить текст на аудио, установите модуль с расширением pip install pyttsx3.

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

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

Senior Python Developer

Красивая консоль

Зачастую вся информация в консоли — скучный белый или же черный текст. Согласитесь, такое и читать не интересно. Благо в питоне есть библиотека TermColor.

Установка библиотеки: pip install termcolor2. За счет этой библиотеки мы быстро можем настроить, какие именно стили будут применены к тексту в консоли.

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

Senior Python Developer

Обрабатываем номера телефонов

Пакет phonenumbers основан на библиотеке libphonenumber от Google, которая позволяет форматировать, парсить и проверять номера телефонов.

Основным классом, который представляет номер, является PhoneNumber. Объект можно создать, вызвав метод parse() и передав в аргументы номер телефона в виде строки. Вторым аргументом также можно указать страну.

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

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

Senior Python Developer

Аргументы командой строки

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

Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.

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

Senior Python Developer

Метод Counter.subtract()

Метод Counter.subtract() вычитает элементы текущего счетчика cnt и итерируемой последовательности или другого словаря или другого счетчика Counter(). Подобно методу словаря dict.update(), но вычитает количество (значения ключей), а не заменяет их.

Значения ключей как у счетчика так и у словаря могут быть нулевыми или отрицательными.

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

Senior Python Developer

Именование среза с функцией slice

Работа с множеством значений, которые заданы индексами, может быстро закончиться беспорядком как в плане поддержки, так и читабельности кода.

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

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

Senior Python Developer

Базовый пример построения графика с помощью Python

Для начала требуется установить библиотеку matplotlib — pip install matplotlib. Сама программа для создания примера простого графика представлена на картинке.

В функцию plot передаются два массива — координаты точек кривой. Первый массив — координаты по x, второй массив — y. Функция show выдает картинку с графиком.

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

Senior Python Developer

Python-dateutil

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

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

Senior Python Developer

Упрощение конструкций с if

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

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

Senior Python Developer

#вопросы_с_собеседований
Как быстро проверить, что в строке присутствуют только буквы и цифры?

Ответ на картинке. Можно использовать встроенную функцию isalnum, которая как раз предназначена для решения задачи.

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

Senior Python Developer

Функция str-center()

Функция str-center() позиционирует по центру указанную строку, дополняя её справа и слева до указанной длины указанным символом.

Также можно указать символ, который будет использоваться для заполнения, по умолчанию — пробел. Изначальная строка не обрезается, даже если в ней меньше символов, чем указано в параметре желаемой длины.

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

Senior Python Developer

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

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

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

Senior Python Developer

Генерация 2D мира с помощью клеточного автомата на Python

Клеточным автоматом называют множество клеток, которые можно представить в виде матрицы с x‑строк и y‑столбцов.

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

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

Senior Python Developer

Особая переменная __name__

Когда интерпретатор Python работает с программой, в начале он устанавливает некоторые специальные переменные. Одна из них — name.

Если скрипт запущен напрямую, то в переменную присваивается значение main, в случае импорта — название модуля.

name
по умолчанию также есть у всех классов и функций.

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

Senior Python Developer

🔥Создать приложение за неделю — интересно,
🤬Искать заказы за рубежом — не очень.

🔥Искать до рассвета баг в коде — согласен,
🤬Провести переговоры с европейским заказчиком — о, нет.

🔥Получить вкусный чек в валюте — круто,
🤬Легально его обналичить — сложно.

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

В своем канале они рассказывают, как:
🔴Сделать резюме, которое заметят в ЕС
🔴Преодолеть культурные различия с зарубежными заказчиками
🔴Уехать в любую страну и легально работать с Digital Nomad Visa
🔴Нанять первого сотрудника
🔴Разобраться в валютном контроле РФ

Подписывайтесь и выходите на новый, международный уровень!

Реклама "ТиЭмЭс СоларВеб Лимитед", ИНН CY99000193F erid CQH36pWzJqCcGjYtZnjZzsWbzVSf8NzANduKPdUbEWyTqV

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

Senior Python Developer

Создание таблиц

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

Работать с ней просто. Нужно лишь создать объект на основе PrettyTable и далее поместить в него название рядов и сами ряды.

Таблицу можно даже выровнять по определенному краю, а также можно указать сортировку по определенному полю.

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

Senior Python Developer

7–8 июня проводим Weekend Offer Analytics

Устроиться в Яндекс за выходные — реально. Ищем крутых аналитиков с опытом работы от 3 лет на Python, готовых работать в офисном или гибридном режиме.

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

Узнать подробности и зарегистрироваться.

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