Сортировка списков по ключу
У списков есть метод
Но еще есть аргумент
В коде на картинке у нас есть список из словарей, которые содержать описания машин. И в качестве мы отсортировали список по годам их выпуска, то есть по ключу
Также вместо написания обычных функций были применены анонимные, чтобы закрепить недавнюю тему о них.
#списки
У списков есть метод
sort()
, который сортирует элементы. Также есть аргумент reverse
, с помощью которого можно отсортировать в обратном порядке при значении True
.Но еще есть аргумент
key
, отвечающий за критерий сортировки. Он принимает функцию, которая применяется к каждому элементу. Возвращаемый результат и есть критерий, по которому произойдет сортировка.В коде на картинке у нас есть список из словарей, которые содержать описания машин. И в качестве мы отсортировали список по годам их выпуска, то есть по ключу
'year'
.Также вместо написания обычных функций были применены анонимные, чтобы закрепить недавнюю тему о них.
#списки
erid: LjN8KEAmm
1 февраля в 19:00 состоится третий Backend Meetup от X5 Tech
Бэкенд-сообщество вновь собирается, чтобы обсудить 4 доклада от специалистов по Python и Java.
Основные темы: DDD в Django, ElasticSearch в роли базы данных нулевой нормальности, почему кодинг — не главное, а также практический опыт применения чистой архитектуры.
Спикеры:
— Александр Логинов — менеджер направления HR и монетизации, X5 Tech
— Максим Столпасов — руководитель команды разработки, X5 Tech.
— Константин Никифоров — руководитель команды разработки, X5 Tech
— Вадим Ваганов — ведущий эксперт разработки, Газпромбанк
— Павел Лукьянов — руководитель Python практики, ГК Юзтех
Регистрация на YouTube трансляцию
Реклама. ООО "Корпоративный центр ИКС 5", ИНН 7728632689
1 февраля в 19:00 состоится третий Backend Meetup от X5 Tech
Бэкенд-сообщество вновь собирается, чтобы обсудить 4 доклада от специалистов по Python и Java.
Основные темы: DDD в Django, ElasticSearch в роли базы данных нулевой нормальности, почему кодинг — не главное, а также практический опыт применения чистой архитектуры.
Спикеры:
— Александр Логинов — менеджер направления HR и монетизации, X5 Tech
— Максим Столпасов — руководитель команды разработки, X5 Tech.
— Константин Никифоров — руководитель команды разработки, X5 Tech
— Вадим Ваганов — ведущий эксперт разработки, Газпромбанк
— Павел Лукьянов — руководитель Python практики, ГК Юзтех
Регистрация на YouTube трансляцию
Реклама. ООО "Корпоративный центр ИКС 5", ИНН 7728632689
Загрузка файлов асинхронно
Если у нас есть список
Однако, для задач, включающих загрузку большого количества маленьких файлов, параллелизация может заметно ускорить процесс.
Для параллелизации мы можем использовать
С помощью метода
Важно понимать, что так как загрузка файлов является IO-операцией, данный метод не ускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего.
#python #threading
Если у нас есть список
URL
картинок для загрузки, использование простого цикла for
позволит нам загрузить их последовательно, по одной за раз.Однако, для задач, включающих загрузку большого количества маленьких файлов, параллелизация может заметно ускорить процесс.
Для параллелизации мы можем использовать
ThreadPoolExecutor
из модуля concurrent.futures
. Этот инструмент позволяет выполнить функцию загрузки в нескольких параллельных потоках, где в конструкторе необходимо указать максимальное количество потоков для одновременного выполнения.С помощью метода
.map(download, urls)
можно развернуть функцию загрузки на каждый URL
из списка, обеспечивая их параллельную обработку.Важно понимать, что так как загрузка файлов является IO-операцией, данный метод не ускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего.
#python #threading
Jingle Bio — лучший конструктор страниц портфолио
Без особых усилий отображайте свои цифровые достижения на элегантной и удобной странице портфолио. Демонстрируйте свои проекты, навыки, опыт и достижения в одном месте. концепция не оригинальна (аналогов много), но исполнение, пожалуй, самое продвинутое. Тут можно сразу видеть обновления контента, да и вообще персоницифировать страницу.
Создайте свою собственную страницу портфолио и постройте свой персональный бренд, чтобы поднять свою карьеру на новый уровень. И самое главное — это бесплатно!
Без особых усилий отображайте свои цифровые достижения на элегантной и удобной странице портфолио. Демонстрируйте свои проекты, навыки, опыт и достижения в одном месте. концепция не оригинальна (аналогов много), но исполнение, пожалуй, самое продвинутое. Тут можно сразу видеть обновления контента, да и вообще персоницифировать страницу.
Создайте свою собственную страницу портфолио и постройте свой персональный бренд, чтобы поднять свою карьеру на новый уровень. И самое главное — это бесплатно!
Использование аннотаций типов в Python
Python, язык с динамической типизацией, позволяет работать с переменными различных типов. Иногда это может привести к ошибкам из-за неправильного использования типов .
Начиная с версии 3.6, Python поддерживает аннотации типов для переменных, атрибутов классов, аргументов функций и их возвращаемых значений, что помогает улучшить читаемость кода и предотвратить ошибки, связанные с типами данных.
#python #typing
Python, язык с динамической типизацией, позволяет работать с переменными различных типов. Иногда это может привести к ошибкам из-за неправильного использования типов .
Начиная с версии 3.6, Python поддерживает аннотации типов для переменных, атрибутов классов, аргументов функций и их возвращаемых значений, что помогает улучшить читаемость кода и предотвратить ошибки, связанные с типами данных.
#python #typing
Forwarded from Старая площадь
Сбербанк открыл кампус «Школы 21» в Ярославле на 300 рабочих станций. Его запустили в партнёрстве с правительством Ярославской области. Дизайн помещений создан с учетом региональной айдентики, кластеры школы носят имена людей, прославивших Ярославскую область.
«Наше завтра будет невозможно без цифровых технологий. Все сферы без исключения — наука, сельское хозяйство, архитектура, машиностроение, медицина — будут опираться на суперсовременные цифровые технологии, на специалистов в области искусственного интеллекта», — заявил Глава Сбера Герман Греф, выступая на церемонии открытия кампуса.
Он рассказал, что «Школа 21» готовит специалистов по 14 инженерным специальностям и будет их расширять. Сейчас готовится новых кампусов еще в 16 регионах России. 9 из них откроют уже в этом году.
«Наше завтра будет невозможно без цифровых технологий. Все сферы без исключения — наука, сельское хозяйство, архитектура, машиностроение, медицина — будут опираться на суперсовременные цифровые технологии, на специалистов в области искусственного интеллекта», — заявил Глава Сбера Герман Греф, выступая на церемонии открытия кампуса.
Он рассказал, что «Школа 21» готовит специалистов по 14 инженерным специальностям и будет их расширять. Сейчас готовится новых кампусов еще в 16 регионах России. 9 из них откроют уже в этом году.
Особенности статических методов
Основное отличие статических методов от методов экземпляра заключается в их привязке к классу, а не к отдельному объекту. Это означает, что их можно вызывать непосредственно через класс.
Статические методы не получают ссылку на экземпляр (self) или класс (cls) в качестве аргументов, что делает их независимыми от состояния объекта или класса. Следовательно, они не могут изменять состояние объекта или класса.
Существует два основных способа определения статического метода. Менее распространенный — назначение метода классу, используя функцию
Однако более предпочтительным является использование
#python #staticmethod
Основное отличие статических методов от методов экземпляра заключается в их привязке к классу, а не к отдельному объекту. Это означает, что их можно вызывать непосредственно через класс.
Статические методы не получают ссылку на экземпляр (self) или класс (cls) в качестве аргументов, что делает их независимыми от состояния объекта или класса. Следовательно, они не могут изменять состояние объекта или класса.
Существует два основных способа определения статического метода. Менее распространенный — назначение метода классу, используя функцию
staticmethod
для оборачивания исходного метода. Однако более предпочтительным является использование
staticmethod
как декоратора, что упрощает объявление статических методов непосредственно внутри класса.#python #staticmethod
Установление SSH-соединения с сервером
Библиотека
Модуль
Для установки пакета используйте менеджер пакетов
#python #paramiko #ssh
Библиотека
paramiko
предоставляет возможность подключения к серверам через протокол SSH2
, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh
в Linux
.Модуль
paramiko
отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko
происходит от слияния слов "параноик" и "друг" на языке эсперанто.Для установки пакета используйте менеджер пакетов
pip
в привычном порядке. Подробную документацию можно найти здесь.#python #paramiko #ssh
Слияние аудио и видео потоков
Проблема с получением видео в высоком качестве со звуком с
Решением является отдельное получение аудио и видео потоков и их последующее объединение с использованием программы
Необходимо выбрать соответствующие аудио и видео потоки, затем использовать полученные
#python #ffmpeg #pytube
Проблема с получением видео в высоком качестве со звуком с
YouTube
связана с использованием технологии DASH (Dynamic Adaptive Streaming over HTTP)
, которая не предусматривает наличие звуковой дорожки в потоке.Решением является отдельное получение аудио и видео потоков и их последующее объединение с использованием программы
ffmpeg
.Необходимо выбрать соответствующие аудио и видео потоки, затем использовать полученные
URL
в команде ffmpeg
для запуска процесса загрузки и слияния потоков.#python #ffmpeg #pytube
Картографическая визуализация с использованием Folium
Эта библиотека поддерживает пользовательские наборы тайлов от
В арсенале
Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png
#python #folium
Folium
обеспечивает интеграцию данных на карты, позволяя создавать как фоновые картограммы, так и размещать на картах векторные, растровые и HTML
элементы в виде маркеров.Эта библиотека поддерживает пользовательские наборы тайлов от
MapBox
или Cloudmade
.В арсенале
Folium
имеются различные типы маркеров, от простых маркеров местоположения со стандартными листовками, содержащими всплывающие окна и HTML
подсказки, до возможности встраивания изображений, видео, а также GeoJSON
и TopoJSON
объектов.Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png
#python #folium
Применяем pathlib взамен os
В Python 3 стандартная библиотека включает модуль
Одно из наиболее впечатляющих преимуществ использования
В общем, этот модуль предлагает замену функциям для работы с файловыми путями из модуля
#path #os
В Python 3 стандартная библиотека включает модуль
pathlib
, предоставляющий функцию Path
, которая обеспечивает все необходимое для эффективной работы с путями к файлам.Одно из наиболее впечатляющих преимуществ использования
pathlib
- это упрощение работы с путями за счет использования Path
вместо os.path.join
, представляя более простой и изящный метод, как показано на изображении.В общем, этот модуль предлагает замену функциям для работы с файловыми путями из модуля
os
, таким как os.mkdir
или os.path
, на более удобные альтернативы.#path #os
Изучить Python за полгода, вместо 2 лет? С нейросетями и университетом Зерокодер это реально.
На сайтах более 11000 вакансий, а средняя зарплата специалиста - 200000 рублей.
Университет Зерокодер проведет бесплатный вебинар о будущем рынка, возможностях Python и причинах, почему это лучший язык для старта, а также расскажет как решать типичные задачи программиста с помощью нейросетей и упростить изучение Python в разы.
Даже если вы никогда не кодили - приходите, научитесь решать простые задачи на Python прямо на вебинаре. Бонус - работающий без VPN чатбот на основе ChatGPT.
Подробности тут.
На сайтах более 11000 вакансий, а средняя зарплата специалиста - 200000 рублей.
Университет Зерокодер проведет бесплатный вебинар о будущем рынка, возможностях Python и причинах, почему это лучший язык для старта, а также расскажет как решать типичные задачи программиста с помощью нейросетей и упростить изучение Python в разы.
Даже если вы никогда не кодили - приходите, научитесь решать простые задачи на Python прямо на вебинаре. Бонус - работающий без VPN чатбот на основе ChatGPT.
Подробности тут.
Внедрение асинхронных задач с Taskiq
Библиотека
Принцип работы с
Установка
#python #taskiq
Библиотека
Taskiq
предназначена для упрощения работы с асинхронными задачами в Python
, позволяя разработчикам легко организовывать фоновую обработку задач. Это решение идеально подходит для случаев, когда необходимо выполнять задачи, не блокируя основной поток приложения.Принцип работы с
Taskiq
прост и интуитивно понятен, что демонстрируется на примерах в документации. Для примера использования библиотеки Taskiq
, предположим, что вы хотите асинхронно отправить email
без блокирования основного потока выполнения вашего приложения. В этом примере мы создали простую асинхронную задачу для отправки email
с использованием Taskiq.
Установка
Taskiq
производится через менеджер пакетов pip
. Более подробно о возможностях и применении библиотеки можно узнать в официальной документации.#python #taskiq
Преобразование текста в аудио на Python
Используя библиотеку
Для начала работы с
Чтобы сохранить синтезированную речь в аудиофайл, используется метод
#python #gtts
Используя библиотеку
gTTS (Google Text-to-Speech)
для Python
, можно легко преобразовывать текст в аудиофайлы. Эта библиотека использует API Google Translate
для синтеза речи, обеспечивая высокое качество преобразования. Установка библиотеки производится стандартным способом через pip
.Для начала работы с
gTTS
необходимо создать его экземпляр, передав текст, который нужно озвучить, в качестве первого аргумента. Также есть возможность указать язык озвучивания через опциональный аргумент, который по умолчанию установлен на английский.Чтобы сохранить синтезированную речь в аудиофайл, используется метод
save
, аргументом которого является имя файла.#python #gtts
Создание QR-кода с помощью qrcode инструмента
Воспользуйтесь этим простым, но эффективным инструментом для генерации QR-кодов. Для рисования изображений необходима библиотека
Для получения изображения с QR-кодом достаточно использовать метод
Помимо этого, инструмент предлагает возможность интеграции изображений в QR-коды и поддерживает шесть различных стилей оформления. Более подробную информацию, включая продвинутые примеры использования, вы найдете в официальной документации по ссылке.
#qrcode
Воспользуйтесь этим простым, но эффективным инструментом для генерации QR-кодов. Для рисования изображений необходима библиотека
Pillow
, так что проверьте ее наличие перед началом работы.Для получения изображения с QR-кодом достаточно использовать метод
make()
, передав ему нужные данные. Сохранить результат можно с помощью метода save()
, примененного к созданному объекту изображения.Помимо этого, инструмент предлагает возможность интеграции изображений в QR-коды и поддерживает шесть различных стилей оформления. Более подробную информацию, включая продвинутые примеры использования, вы найдете в официальной документации по ссылке.
#qrcode
Forwarded from GigaChat
Сегодня отмечает день рождения Python — самый популярный язык программирования и наиболее простой для того, чтобы научиться кодить.
На Python написаны многие популярные сервисы (вроде Netflix или Google), а благодаря простому синтаксису и широкому спектру библиотек он идеален для многих проектов в сфере машинного обучения, анализа данных и искусственного интеллекта.
Если вы тоже решили начать изучать Python, то GigaChat поможет: модель объяснит основные понятия, ответит на вопросы об особенностях языка и синтаксисе.
Например, что такое функция и как её сделать на Python:
«Функция в программировании — это блок кода, который выполняет определенную задачу. Она может принимать входные данные (аргументы), выполнять определенные операции и возвращать результат.
В Python функция создается с помощью ключевого слова "def" (от слова "define" — определить), затем следует имя функции, круглые скобки и тело функции, которое заключено в круглые скобки.
Вот пример простой функции на Python:
В этом примере функция называется "hello_world", она не принимает входные данные и не возвращает результат. Вместо этого она просто выводит строку "Привет, мир!" на экран».
Спросить GigaChat можно и о многом другом — попробуйте: @gigachat_bot
На Python написаны многие популярные сервисы (вроде Netflix или Google), а благодаря простому синтаксису и широкому спектру библиотек он идеален для многих проектов в сфере машинного обучения, анализа данных и искусственного интеллекта.
Если вы тоже решили начать изучать Python, то GigaChat поможет: модель объяснит основные понятия, ответит на вопросы об особенностях языка и синтаксисе.
Например, что такое функция и как её сделать на Python:
«Функция в программировании — это блок кода, который выполняет определенную задачу. Она может принимать входные данные (аргументы), выполнять определенные операции и возвращать результат.
В Python функция создается с помощью ключевого слова "def" (от слова "define" — определить), затем следует имя функции, круглые скобки и тело функции, которое заключено в круглые скобки.
Вот пример простой функции на Python:
def hello_world():
print("Привет, мир!")
В этом примере функция называется "hello_world", она не принимает входные данные и не возвращает результат. Вместо этого она просто выводит строку "Привет, мир!" на экран».
Спросить GigaChat можно и о многом другом — попробуйте: @gigachat_bot
Создание и использование виртуальной среды
Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
Чтобы активировать виртуальную среду, нужно запустить
#python #virtualenv
virtualenv
— инструмент для создания изолированных сред Python. Программа создает папку, которая содержит все необходимые исполняемые файлы для использования пакетов, необходимых для проекта.Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
python3 -m venv venv
Это создаст папку venv
, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения. Чтобы активировать виртуальную среду, нужно запустить
activate
файл: source venv/bin/activate
и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах.#python #virtualenv
Преобразование аудиофайлов с помощью Python
В
Для начала работы с файлом, используем метод
Когда файл загружен, для его конвертации и сохранения в желаемом формате применяем метод
#python #pydub
В
Python
существует множество способов для выполнения конвертации аудиофайлов из одного формата в другой. Одним из наиболее удобных инструментов для этого является модуль pydub
. Этот модуль служит оболочкой для ffmpeg
и предоставляет возможности по загрузке, редактированию и сохранению аудиофайлов в различных форматах, поддерживаемых ffmpeg
.Для начала работы с файлом, используем метод
from_
с указанием необходимого формата из класса AudioSegment
, или же обратимся к более универсальному методу from_file
, предоставляя путь к файлу и его формат.Когда файл загружен, для его конвертации и сохранения в желаемом формате применяем метод
export
объекта класса AudioSegment
, созданного на предыдущем шаге.#python #pydub
One Day Offer для Data Science ⚡
Обнаружен самый короткий путь к офферу в Сбере: 2 марта ждём вас на онлайн One Day Offer для специалистов Data Science.
Мы разрабатываем и внедряем DS-решения в точки касания клиента со Сбером: отделения, мобильное приложение, банкоматная сеть, кол-центр, канал Премьер и т. д. За год мы разрабатываем и внедряем более 200 моделей.
Наш стек: Python, Spark, SQL, Hadoop, GreenPlum.
В ваших задачах будет 👇
— Обучение всех типов моделей искусственного интеллекта: от классического ML до глубоких нейронных сетей.
— Создание высокотехнологичных сервисов: от систем принятия решений до компьютерного зрения и обработки естественного языка.
— Развитие хранилищ блока на Teradata и DataLake на Hadoop.
У вас есть уникальная возможность поучаствовать в выводе продуктов с нуля в промышленную эксплуатацию. Интересно? Регистрируйтесь по ссылке 😉
Обнаружен самый короткий путь к офферу в Сбере: 2 марта ждём вас на онлайн One Day Offer для специалистов Data Science.
Мы разрабатываем и внедряем DS-решения в точки касания клиента со Сбером: отделения, мобильное приложение, банкоматная сеть, кол-центр, канал Премьер и т. д. За год мы разрабатываем и внедряем более 200 моделей.
Наш стек: Python, Spark, SQL, Hadoop, GreenPlum.
В ваших задачах будет 👇
— Обучение всех типов моделей искусственного интеллекта: от классического ML до глубоких нейронных сетей.
— Создание высокотехнологичных сервисов: от систем принятия решений до компьютерного зрения и обработки естественного языка.
— Развитие хранилищ блока на Teradata и DataLake на Hadoop.
У вас есть уникальная возможность поучаствовать в выводе продуктов с нуля в промышленную эксплуатацию. Интересно? Регистрируйтесь по ссылке 😉
Использование OpenCV для работы с веб-камерой
Библиотека OpenCV это инструмент для работы с компьютерным зрением, обработки изображений и видео. Её можно легко установить через
В качестве примера давайте рассмотрим, как можно захватить изображение с веб-камеры и отобразить его в окне. Для начала, инициализируем веб-камеру с помощью команды
Далее, с помощью строки
Следующим шагом, команда
Для выхода из цикла просмотра и завершения работы скрипта, используется проверка нажатия клавиши
Наконец, для освобождения веб-камеры и закрытия всех графических окон, используются команды
#python #opencv
Библиотека OpenCV это инструмент для работы с компьютерным зрением, обработки изображений и видео. Её можно легко установить через
pip
, используя команду: pip install opencv-python
.В качестве примера давайте рассмотрим, как можно захватить изображение с веб-камеры и отобразить его в окне. Для начала, инициализируем веб-камеру с помощью команды
cap = cv2.VideoCapture(0)
, где число обозначает индекс камеры.Далее, с помощью строки
ret, frame = cap.read()
, мы извлекаем текущее изображение с камеры в переменную frame
, а также получаем статус захвата в переменную ret
. Если ret == True
, это означает, что захват прошёл успешно.Следующим шагом, команда
cv2.imshow('webcam', frame)
открывает графическое окно с полученным изображением.Для выхода из цикла просмотра и завершения работы скрипта, используется проверка нажатия клавиши
'q': if cv2.waitKey(1) & 0xFF == ord('q'):
.Наконец, для освобождения веб-камеры и закрытия всех графических окон, используются команды
cap.release()
и cv2.destroyAllWindows()
соответственно.#python #opencv