№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Метод Counter.subtract()
Метод Counter.subtract() вычитает элементы текущего счетчика cnt и итерируемой последовательности или другого словаря или другого счетчика Counter(). Подобно методу словаря dict.update(), но вычитает количество (значения ключей), а не заменяет их.
Значения ключей как у счетчика так и у словаря могут быть нулевыми или отрицательными.
Именование среза с функцией slice
Работа с множеством значений, которые заданы индексами, может быстро закончиться беспорядком как в плане поддержки, так и читабельности кода.
Один из вариантов улучшения ситуации заключается в использовании констант для значений, задаваемых индексами. Однако есть и более удачный способ написания качественного кода, как показано на картинке.
Базовый пример построения графика с помощью Python
Для начала требуется установить библиотеку matplotlib — pip install matplotlib
. Сама программа для создания примера простого графика представлена на картинке.
В функцию plot передаются два массива — координаты точек кривой. Первый массив — координаты по x
, второй массив — y
. Функция show выдает картинку с графиком.
Python-dateutil
Пакет предлагает мощные расширения стандартного модуля datetime. С этой библиотекой можно сделать много полезного, но мы ограничимся одним примером, который используется чаще всего, — нечеткий разбор (парсинг) дат. Документацию пакета можете найти по ссылке.
Упрощение конструкций с if
Если вам нужно проверить несколько значений, сделайте так, как показано выше на картинке.
#вопросы_с_собеседований
Как быстро проверить, что в строке присутствуют только буквы и цифры?
Ответ на картинке. Можно использовать встроенную функцию isalnum, которая как раз предназначена для решения задачи.
Функция str-center()
Функция str-center() позиционирует по центру указанную строку, дополняя её справа и слева до указанной длины указанным символом.
Также можно указать символ, который будет использоваться для заполнения, по умолчанию — пробел. Изначальная строка не обрезается, даже если в ней меньше символов, чем указано в параметре желаемой длины.
#вопросы_с_собеседований
Что такое поверхностная копия?
Поверхностная копия используется при создании нового типа экземпляра и сохраняет значения, скопированные в новом. Также она используется для копирования ссылочных указателей. Это означает, что когда мы копируем объект в другую переменную, он будет привязан.
Генерация 2D мира с помощью клеточного автомата на Python
Клеточным автоматом называют множество клеток, которые можно представить в виде матрицы с x‑строк и y‑столбцов.
Смотреть статью
Особая переменная __name__
Когда интерпретатор Python работает с программой, в начале он устанавливает некоторые специальные переменные. Одна из них — name.
Если скрипт запущен напрямую, то в переменную присваивается значение main, в случае импорта — название модуля.
name по умолчанию также есть у всех классов и функций.
🔥Создать приложение за неделю — интересно,
🤬Искать заказы за рубежом — не очень.
🔥Искать до рассвета баг в коде — согласен,
🤬Провести переговоры с европейским заказчиком — о, нет.
🔥Получить вкусный чек в валюте — круто,
🤬Легально его обналичить — сложно.
Чувствуете в себе потенциал, чтобы, работать на международном рынке, но тормозят вопросы с поиском заказов, оформлением документов и выводом средств?
В Mellow помогут разобраться со всей этой рутиной.
В своем канале они рассказывают, как:
🔴Сделать резюме, которое заметят в ЕС
🔴Преодолеть культурные различия с зарубежными заказчиками
🔴Уехать в любую страну и легально работать с Digital Nomad Visa
🔴Нанять первого сотрудника
🔴Разобраться в валютном контроле РФ
Подписывайтесь и выходите на новый, международный уровень!
Реклама "ТиЭмЭс СоларВеб Лимитед", ИНН CY99000193F erid CQH36pWzJqCcGjYtZnjZzsWbzVSf8NzANduKPdUbEWyTqV
Создание таблиц
Хорошей библиотекой является PrettyTable. Она позволяет быстро создать красивую таблицу для вывода в консоль. Если вы где-то учитесь или же часто нужно демонстрировать информацию, то рекомендую сохранить название этой библиотеки.
Работать с ней просто. Нужно лишь создать объект на основе PrettyTable и далее поместить в него название рядов и сами ряды.
Таблицу можно даже выровнять по определенному краю, а также можно указать сортировку по определенному полю.
7–8 июня проводим Weekend Offer Analytics
Устроиться в Яндекс за выходные — реально. Ищем крутых аналитиков с опытом работы от 3 лет на Python, готовых работать в офисном или гибридном режиме.
Подавайте заявку до 3 июня — и всего за 2 дня пройдите технические собеседования. После сможете пообщаться с двенадцатью нанимающими командами и выбрать ту, которая покажется самой интересной. Если всё сложится хорошо, сразу же пришлём вам офер.
Узнать подробности и зарегистрироваться.
Назначение переменных и функций по условию
Иногда элементы if настолько просты, что кажется излишним тратить на них строки. В этом случае имеет смысл применить тернарный оператор if/else:
A = Y if X else Z
Интерпретатор выполняет выражение Y, если объект X – истина, и Z, если X – ложь. Не злоупотребляйте этим выражением, если X, Y, Z имеют сложную форму записи.
Тернарный оператор можно использовать не только для переменных, но и для функций.
Валидные значения словаря
В словарь можно поместить что угодно – вы не ограничены числами или строками. Можете поместить списки внутрь словаря и получить доступ к вложенным значениям.
Заменяем часть строки
Со строками в Python работать очень удобно, так как встроенных методов для них довольно много. Одним из методов является str.replace()
, который позволяет заменять части строк.
Первым аргументом передается подстрока, которая будет изменяться в исходной строке. Вторым аргументом — то, на что будет заменяться.
Также есть третий опциональный аргумент, который отвечает за то, сколько раз вы хотите заменить старую подстроку на новую. По умолчанию все вхождения заменяются.
Метод Counter.elements()
Возвращает итератор по элементам, в котором каждый элемент повторяется столько раз, во сколько установлено его значение.
Элементы возвращаются в порядке их появления. Если количество элементов меньше единицы, то метод Counter.elements() просто проигнорирует его.
Горизонтальное склеивание изображений
Что для этого нужно сделать:
• Открыть изображения
• Изменить размер изображения с помощью функции Resize() . Оба изображения с измененным размером должны иметь одинаковую ширину и высоту, чтобы их соотношение сторон не изменилось и их можно было вставить в новое фоновое изображение.
• Для создания нового изображения у него есть функция new() , которая имеет 3 параметра («режим», (размер), цвет).
• Вставить изображение в новое изображение, используя paste().
Ниже приведен результат работы кода.
Pillow
Pillow является ответвлением Python Imaging Library. Эта библиотека подойдет для создания миниатюр, преобразования изображений в различные форматы, наложения фильтров, вращения и отображения изображений и т.д. К тому же это идеальный вариант для пакетной обработки большого количества картинок.
Для большей наглядности приведу пример того, как вы можете отобразить изображение из Python-кода. Проект устанавливается, как всегда, с помощью pip, документацию можете найти по ссылке.
Напишите программу на Python для локального сохранения изображения из Интернета, URL-адрес которого известен
Ответ на картинке.
Модуль gzip
Модуль gzip предоставляет простой интерфейс для сжатия и распаковки файлов, как это делают программы GNU gzip и gunzip.
Сжатие потока данных обеспечивается модулем zlib.
Модуль gzip предоставляет класс gzip.GzipFile(), а также удобные функции gzip.оpen(), gzip.compress() и gzip.decompress(). Класс gzip.GzipFile() читает и записывает файлы формата gzip, автоматически сжимая или распаковывая данные, чтобы они выглядели как обычный файловый объект.
Обратите внимание, что дополнительные форматы файлов, которые могут быть распакованы программами gzip и gunzip, например созданные с помощью команды bash compress и pack, этим модулем не поддерживаются.
Абстракция множеств
Так же, как и в случае со списками и словарями, при работе с множествами можно воспользоваться так называемой абстракцией множеств (set comprehension). Делается это путём добавления обрабатываемого выражения в фигурные скобки и через возврат единственного мутабельного элемента на каждом проходе цикла: { <element> for ... in ... }.
Как масштабировать машинные модели и работать с огромными объемами данных? Откройте для себя возможности Spark ML на открытом уроке от OTUS!
Spark ML — это мощный инструмент для масштабируемого машинного обучения, который позволяет обучать модели на больших данных, не переходя на специализированные ML-системы. Мы покажем, как интеграция с Spark SQL и DataFrame API упрощает ETL-подготовку данных и фичуризацию для реальных проектов.
Убедитесь, как Spark ML решает задачи отказоустойчивости и распределённых вычислений, позволяя вам легко строить промышленные ML-пайплайны.
Посетите открытый урок 11 июня в 20:00 МСК в преддверие старта курса «Spark Developer» и получите скидку на обучение: https://otus.pw/DwEs/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как я стал Python-разработчиком с нуля — мой опыт становления тестировщиком
Тестировщик — специалист, который отлавливает ошибки на всех этапах разработки проекта.
Смотреть статью
Метод re.sub()
re.sub(pattern, repl, string)
Ищет шаблон в строке и заменяет его на указанную подстроку. Если шаблон не найден, строка остается неизменной.
Преобразуем текст в аудио
Чтобы изменить текст на аудио, установите модуль с расширением pip install pyttsx3.
В этой библиотеке есть много модулей, с помощью которых вы можете попробовать изменить голос, громкость и скорость звука.
Красивая консоль
Зачастую вся информация в консоли — скучный белый или же черный текст. Согласитесь, такое и читать не интересно. Благо в питоне есть библиотека TermColor.
Установка библиотеки: pip install termcolor2. За счет этой библиотеки мы быстро можем настроить, какие именно стили будут применены к тексту в консоли.
Размер в байтах
Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.
Функция groupby()
Функция groupby() модуля itertools создает итератор, который возвращает последовательные ключи и группы из итерируемой последовательности iterable.
Ключ key - это функция, вычисляющая значение ключа для каждого элемента. Если ключ не указан или равен None, ключом по умолчанию является функция тождественности и возвращает элемент без изменений. Как правило, iterable уже должна быть отсортирована по той же ключевой функции.
Query JSON
JMESpath – это язык запросов для JSON, который позволяет получать необходимые данные из документа или словаря JSON. Библиотека доступна как для Python, так и для других ЯП, что расширяет ее возможности.