Функция itertools.chain()
Функция
Например, код сверху объединяет две строки в одну.
#python
Функция
itertools.chain()
в Python объединяет несколько итераторов в один. Она принимает в качестве аргумента один или несколько итераторов, и возвращает итератор, который последовательно возвращает элементы из этих итераторов.Например, код сверху объединяет две строки в одну.
#python
Метод setdefault()
Метод
Метод
— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
Метод
setdefault()
в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.Метод
setdefault()
имеет два параметра:— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
Не пайтоном единым, или добавляем в резюме еще один аналитический навык!
В этот вторник приходите на бесплатный мастер-класс с Серафимом Фролкиным, инженером данных VK и экспертом программ школы аналитики Changellenge >> Education: напишете свой первый SQL-код в прямом эфире!
На мастер-классе вы:
✔️ разберетесь с 9 базовыми функциями SQL;
✔️ научитесь писать и читать код SQL;
✔️ решите свой первый кейс!
Справятся даже новички. Всего полтора часа — и в резюме новый навык! А сочетание Python-SQL всегда повышает цифры в графе «заработная плата» на hh.
Дата: 25 июня
Время: 19:00 Мск
Формат: онлайн
Длительность: 1,5 часа
Стоимость: бесплатно
Карьерные бонусы: всем зарегистрировавшимся и участникам!
Регистрируйтесь и получайте подарки >>
В этот вторник приходите на бесплатный мастер-класс с Серафимом Фролкиным, инженером данных VK и экспертом программ школы аналитики Changellenge >> Education: напишете свой первый SQL-код в прямом эфире!
На мастер-классе вы:
✔️ разберетесь с 9 базовыми функциями SQL;
✔️ научитесь писать и читать код SQL;
✔️ решите свой первый кейс!
Справятся даже новички. Всего полтора часа — и в резюме новый навык! А сочетание Python-SQL всегда повышает цифры в графе «заработная плата» на hh.
Дата: 25 июня
Время: 19:00 Мск
Формат: онлайн
Длительность: 1,5 часа
Стоимость: бесплатно
Карьерные бонусы: всем зарегистрировавшимся и участникам!
Регистрируйтесь и получайте подарки >>
Проверка отношения классов
Для того, чтобы проверить отношения двух классов или экземпляров (является ли класс классом наследником), есть две простые встроенные функции
Данные функции зачастую применяются в ООП.
#isinstance #issubclass
Для того, чтобы проверить отношения двух классов или экземпляров (является ли класс классом наследником), есть две простые встроенные функции
isinstance(object, classinfo)
и issubclass(class, classinfo)
.instance
- возвращает True, если объект является экземпляром класса либо экземпляром подкласса данного класса.issubclass
— проверяет является ли класс наследником другого класса.Данные функции зачастую применяются в ООП.
#isinstance #issubclass
Tproger
Python разработчик
Требуемый опыт работы: от 2 лет
Полная занятость, гибрид
Что предстоит делать:
— заниматься продуктовой разработкой;
— проектировать и писать нагруженные сервисы на Python;
— создавать масштабируемую и надежную архитектуру и API;
— делать интеграции;
— оптимизировать сервисы и улучшать их быстродействие.
Какие навыки нужны:
— опыт создания высоконагруженных продуктов;
— опыт промышленной разработки на Python;
— знание алгоритмов, архитектурных принципов проектирования;
— опыт работы с Docker и Postgres.
Будет плюсом:
— создание CI/CD pipeline’ов;
— работа с Kafka, Redis;
— работа с Openshift, Minio, Ceph;
— общее понимание технологий CV, NLP и основ Data Science.
Что мы предлагаем:
— ежегодный пересмотр зарплаты и годовая премия;
— возможность выбрать удобный график;
— корпоративный отдых;
— ДМС, льготное страхование;
— корпоративные бонусы.
Контакты: @dima_dmitriev
Python разработчик
Требуемый опыт работы: от 2 лет
Полная занятость, гибрид
Что предстоит делать:
— заниматься продуктовой разработкой;
— проектировать и писать нагруженные сервисы на Python;
— создавать масштабируемую и надежную архитектуру и API;
— делать интеграции;
— оптимизировать сервисы и улучшать их быстродействие.
Какие навыки нужны:
— опыт создания высоконагруженных продуктов;
— опыт промышленной разработки на Python;
— знание алгоритмов, архитектурных принципов проектирования;
— опыт работы с Docker и Postgres.
Будет плюсом:
— создание CI/CD pipeline’ов;
— работа с Kafka, Redis;
— работа с Openshift, Minio, Ceph;
— общее понимание технологий CV, NLP и основ Data Science.
Что мы предлагаем:
— ежегодный пересмотр зарплаты и годовая премия;
— возможность выбрать удобный график;
— корпоративный отдых;
— ДМС, льготное страхование;
— корпоративные бонусы.
Контакты: @dima_dmitriev
Explicit Conversion Flag
Флаг явного преобразования используется для преобразования значения поля
Это поле можно использовать для переопределения поведения
В примере, в случае с флагом
#repr #str #format
Флаг явного преобразования используется для преобразования значения поля
format
перед его непосредственным форматированием.Это поле можно использовать для переопределения поведения
format
для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования:!r
– преобразует значение в строку, используя функцию repr()
!s
– преобразует значение в строку, используя функцию str()
В примере, в случае с флагом
!r
строка 'Hello'
будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s
– без кавычек (в более удобном для чтения виде).#repr #str #format
Скачиваем видео с YouTube
Пакет
Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
#python #youtube
Пакет
pytube
предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию
download()
, в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла.#python #youtube
Получаем календарь
В модуле
Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
#python #calendar
В модуле
calendar
есть функция month()
, которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar()
выдаст целый год.Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
#python #calendar
Библиотека для генерации рандомных данных
Этот код сгенерирует случайные адресные данные, такие как название города, улицы, номер дома и координаты.
#python #mimesis
Mimesis
— это модуль, предназначенный для генерации случайных данных. Это особенно полезно при тестировании алгоритмов, когда требуется большой объем данных. Использование Mimesis избавляет от необходимости создавать эти данные вручную, существенно экономя время.Этот код сгенерирует случайные адресные данные, такие как название города, улицы, номер дома и координаты.
#python #mimesis
Удаление страниц PDF-файла
Библиотека PyMuPDF включает в себя довольно много сложных методов, которые упрощают удаление страниц из файла PDF. Он позволяет указать либо одну страницу (используя метод deletePage()), либо диапазон номеров страниц (используя метод deletePageRange()), либо список с номерами страниц (используя метод select()).
В следующем примере показано, как использовать список для выбора страниц, которые нужно сохранить в исходном документе. Имейте в виду, что страницы, которые не указаны, не будут частью выходного документа. В нашем случае выходной документ содержит только первую, вторую и четвертую страницы.
#python
Библиотека PyMuPDF включает в себя довольно много сложных методов, которые упрощают удаление страниц из файла PDF. Он позволяет указать либо одну страницу (используя метод deletePage()), либо диапазон номеров страниц (используя метод deletePageRange()), либо список с номерами страниц (используя метод select()).
В следующем примере показано, как использовать список для выбора страниц, которые нужно сохранить в исходном документе. Имейте в виду, что страницы, которые не указаны, не будут частью выходного документа. В нашем случае выходной документ содержит только первую, вторую и четвертую страницы.
#python
Функция reload()
Функция
Функция
#python
Функция
reload()
в Python перезагружает ранее импортированный модуль. Это означает, что код модуля выполняется заново, и любые изменения в модуле становятся доступными.Функция
reload()
принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.#python
Как стать Python-разработчиком за 4 месяца? 🐍 Об этом расскажут аж на 2-х бесплатных уроках от Merion Academy!
Забирай целый набор из бесплатных полезностей:
📍2 бесплатных урока, где вы познакомитесь с базой, освоите синтаксис и сразу начнете писать свою программу для портфолио.
📍 В дополнение бесплатный интенсив по развитию карьеры, где HR-эксперты расскажут лайфхаки, как создавать сильные резюме и проходить собеседования, так, чтобы вас взяли на работу.
📍Курс по английскому для IT тем, кто захочет учиться дальше.
👉 Регистрируйтесь по ссылке чтобы забирать бесплатные уроки, интенсив по карьере и гайд.
Что еще важно знать:
1. У ребят одна из самых доступных цен, которая в 4-5 раз ниже, чем в других известных школах, но качество обучения на том же уровне. Это достигается за счет того, что в Мерионе не тратят миллионы на продвижение, а рекламируются только на собственных ресурсах и в тематических телеграм-каналах. Кроме этого у них также отсутствуют расходы на младших менторов, которые в большинстве онлайн-платформах представляются вам как "персональный ментор-преподаватель", но на самом деле являются просто бывшими студентами этих же курсов.
2. Есть возможность опции оплаты через сервис "Яндекс-Долями", т.е. учиться сразу, но платить по чуть-чуть.
Merion Academy – это экосистема доступного образования, которая включает в себя:
Youtube-канал, где простыми словами говорят о сложных вещах.
IT-академию, где обучат востребованным направлениям по самым доступным ценам.
IT-базу знаний с полезными статьями
Забирай целый набор из бесплатных полезностей:
📍2 бесплатных урока, где вы познакомитесь с базой, освоите синтаксис и сразу начнете писать свою программу для портфолио.
📍 В дополнение бесплатный интенсив по развитию карьеры, где HR-эксперты расскажут лайфхаки, как создавать сильные резюме и проходить собеседования, так, чтобы вас взяли на работу.
📍Курс по английскому для IT тем, кто захочет учиться дальше.
👉 Регистрируйтесь по ссылке чтобы забирать бесплатные уроки, интенсив по карьере и гайд.
Что еще важно знать:
1. У ребят одна из самых доступных цен, которая в 4-5 раз ниже, чем в других известных школах, но качество обучения на том же уровне. Это достигается за счет того, что в Мерионе не тратят миллионы на продвижение, а рекламируются только на собственных ресурсах и в тематических телеграм-каналах. Кроме этого у них также отсутствуют расходы на младших менторов, которые в большинстве онлайн-платформах представляются вам как "персональный ментор-преподаватель", но на самом деле являются просто бывшими студентами этих же курсов.
2. Есть возможность опции оплаты через сервис "Яндекс-Долями", т.е. учиться сразу, но платить по чуть-чуть.
Merion Academy – это экосистема доступного образования, которая включает в себя:
Youtube-канал, где простыми словами говорят о сложных вещах.
IT-академию, где обучат востребованным направлениям по самым доступным ценам.
IT-базу знаний с полезными статьями
Сравнение двух аудиосообщений с использованием библиотеки Librosa
Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa
Librosa
— библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио.Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa
Распаковывание последовательностей при неизвестном числе элементов
Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции.
#python
Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции.
#python
Получаем данные о системе
Кроссплатформенная библиотека psutil позволяет получать информацию о процессоре, памяти, диске, сети, датчиках и запущенных процессах в системе. Примеры базового использования показаны на картинке.
Если говорить про практические применение, psutil полезен в основном для мониторинга системы, ограничения ресурсов процессов и управления запущенными процессами.
Помимо привычных Windows, MacOS и Linux, библиотека также поддерживает системы FreeBSD, OpenBSD, NetBSD, Sun Solaris и AIX.
#psutil
Кроссплатформенная библиотека psutil позволяет получать информацию о процессоре, памяти, диске, сети, датчиках и запущенных процессах в системе. Примеры базового использования показаны на картинке.
Если говорить про практические применение, psutil полезен в основном для мониторинга системы, ограничения ресурсов процессов и управления запущенными процессами.
Помимо привычных Windows, MacOS и Linux, библиотека также поддерживает системы FreeBSD, OpenBSD, NetBSD, Sun Solaris и AIX.
#psutil
Разница между генераторными выражениями и генераторами коллекций
Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые.
Распечатав переменные, можно заметить, что значением переменной
Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
#python
Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые.
Распечатав переменные, можно заметить, что значением переменной
a
является список, а переменная x
хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
#python
База данных на минималках
Встроенный модуль
Доступ к данным осуществляется с помощью ключей, как и в случае со словарями. А метод
В документации заявляют, что такая база данных является "надежной". Но учитывая, что
#shelve
Встроенный модуль
shelve
позволяет сохранять и читать произвольные данные. Таким образом, можно сохранять любые Python объекты для дальнейшего использования. Доступ к данным осуществляется с помощью ключей, как и в случае со словарями. А метод
shelve.open
поддерживает протокол контекстного менеджера, то есть можно не вызывать метод close
. В документации заявляют, что такая база данных является "надежной". Но учитывая, что
shelve
написан на pickle
, его стоит использовать только в совсем маленьких проектах.#shelve
Декоратор override
Это может быть полезно для:
— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
#python #decorators
@override
используется для переопределения методов в классах-наследниках. Он позволяет указать, что метод в подклассе переопределяет метод базового класса.Это может быть полезно для:
— Повышения читабельности кода, так как сразу видно, какие методы переопределены.
— Выявления ошибок: если имя метода в дочернем классе не совпадает с именем в родительском, будет выдана ошибка.
— Проверки типов аргументов: декоратор гарантирует, что типы аргументов совпадают с базовым методом.
#python #decorators
Полезность модуля math
Сложно переоценить пользу модуля
Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
Модуль
#math #pi #inf
Сложно переоценить пользу модуля
math
, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами.Его стоит импортировать тогда, когда вам необходимо работать с математикой, но не требуется избыточность модуля
numpy
. Например, можно импортировать число pi
, как в примере.Модуль
math
обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip
).#math #pi #inf