python_academy | Unsorted

Telegram-канал python_academy - Python Academy

-

Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @SeniorMaks Рекламодателям: bit.ly/3y1Py4

Subscribe to a channel

Python Academy

Делаем простой интерфейс используя tkinter

tkinter - это стандартная библиотека для создания графического пользовательского интерфейса (GUI) в Python. Она предоставляет простой и удобный способ создания оконных приложений с использованием виджетов, таких как кнопки, текстовые поля, списки и многое другое.

Хотя tkinter может показаться менее мощным по сравнению с некоторыми другими библиотеками GUI для Python, такими как PyQt или wxPython, она остается популярным выбором для начинающих разработчиков и для создания простых и удобных в использовании GUI-приложений.

#python #tkinter

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

Python Academy

Проверяем скорость интернета

Каждый хоть раз проверял скорость своего интернета на Speedtest. А у них, оказывается, есть не только сайт и приложения, но и пакет на Python для этого дела.

У объекта класса Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных.

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

#python #speedtest

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

Python Academy

Прогрессбар программы

Модуль tqdm предназначен для быстрого и расширяемого внедрения индикаторов выполнения (progressbar) во внешние интерфейсы программ на Python, предоставляя конечным пользователям визуальную индикацию хода вычислений или передачи данных.

Он также будет полезен в целях отладки, как в качестве инструмента профилирования, так и в качестве способа отображения информации журнала итеративной задачи.

#python #tqdm

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

Python Academy

Рассказываем как легко узнать самое короткое расстояние между двумя точками земли

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

В примере узнали, что расстояние между городами Нью-Йорк и Техас 2507 километров.

#python

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

Python Academy

Находим файлы по шаблону

Основной фишкой модуля glob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.

В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.

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

#glob

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

Python Academy

Разработка веб-приложений с использованием фреймворка Flask в Python

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

В данном примере мы создаем простое веб-приложение с одним маршрутом "/", который возвращает приветственное сообщение.

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

Для более подробной информации рекомендуется изучить официальную документацию Flask.

#python #flask

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

Python Academy

Отправляем запросы с HTTPX

Интересный пакет для работы с веб-запросам. Как говорят сами разработчики, это HTTP клиент следующего поколения.

Сравнивая с привычным requests, у httpx есть следующие преимущества:

— Стандартный синхронный интерфейс, но также есть поддержка асинхронности
— Поддержка HTTP/1.1 и HTTP/2
— Возможность отправлять запросы напрямую к WSGI и ASGI приложениям
— Полная поддержка аннотаций типов
— 100% покрытие тестами

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

#httpx

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

Python Academy

Понимание различий между операторами сравнения == и is

Множество разработчиков сталкиваются с трудностями в отличии двух операторов сравнения: == и is, что может привести к неожиданным ошибкам в коде.

Оператор == сравнивает значения двух объектов, чтобы определить их равенство. В отличие от него, оператор is проверяет, ссылаются ли две переменные на один и тот же объект в памяти, тем самым проверяя их идентичность.

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

#python

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

Python Academy

Используем Tortoise ORM для работы с базой данных в Python

Tortoise ORM - это современный и эффективный инструмент для работы с базами данных в Python, который предоставляет асинхронный интерфейс доступа к данным. Он позволяет удобно выполнять операции CRUD (Create, Read, Update, Delete) с данными и облегчает работу с базами данных.

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

В этом примере мы создаем модель User, представляющую таблицу пользователей. Затем мы подключаемся к базе данных, создаем таблицу users и выполняем операции CRUD с данными пользователя.

Tortoise ORM обеспечивает удобный и интуитивно понятный интерфейс для работы с базами данных в асинхронных приложениях Python.

#python #orm #tortoise

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

Python Academy

Отлавливаем баги с assert

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

Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError.
 
Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). 

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

Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы.

#исключения #assert

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

Python Academy

Получаем метаданные из аудиофайла

Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль mutagen. Модуль позволяет получить всю основную информацию об аудиофайле: длину, битрейт, исполнителя и так далее.

Модуль поддерживает форматы метаданных APEv2 и ID3v2, анализируя все кадры ID3v2.4 (посмотреть все нужные теги ID3v2 можно тут).

#audio #mutagen

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

Python Academy

Ускоряем код с помощью векторизации

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

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

По сути, vectorize преобразует функцию таким образом, что она начинает принимать весь вектор целиком, а не отдельный его элемент. Надо помнить, что такой подход не всегда приводит к значительному ускорению.

#vectorize #numpy

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

Python Academy

One Day Offer для Data Science ⚡

Обнаружен самый короткий путь к офферу в Сбере: 2 марта ждём вас на онлайн One Day Offer для специалистов Data Science.

Мы разрабатываем и внедряем DS-решения в точки касания клиента со Сбером: отделения, мобильное приложение, банкоматная сеть, кол-центр, канал Премьер и т. д. За год мы разрабатываем и внедряем более 200 моделей.

Наш стек: Python, Spark, SQL, Hadoop, GreenPlum.

В ваших задачах будет 👇

— Обучение всех типов моделей искусственного интеллекта: от классического ML до глубоких нейронных сетей.
— Создание высокотехнологичных сервисов: от систем принятия решений до компьютерного зрения и обработки естественного языка.
— Развитие хранилищ блока на Teradata и DataLake на Hadoop.

У вас есть уникальная возможность поучаствовать в выводе продуктов с нуля в промышленную эксплуатацию. Интересно? Регистрируйтесь по ссылке 😉

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

Python Academy

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

Ближайшее мероприятие:

• 2-3 марта — Fast Track для Python- и Go-разработчиков, офер за 2 дня в команды Финтеха Яндекса.

Зарегистрироваться

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

Python Academy

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

На Python написаны многие популярные сервисы (вроде Netflix или Google), а благодаря простому синтаксису и широкому спектру библиотек он идеален для многих проектов в сфере машинного обучения, анализа данных и искусственного интеллекта.

Если вы тоже решили начать изучать Python, то GigaChat поможет: модель объяснит основные понятия, ответит на вопросы об особенностях языка и синтаксисе.

Например, что такое функция и как её сделать на Python:

«Функция в программировании — это блок кода, который выполняет определенную задачу. Она может принимать входные данные (аргументы), выполнять определенные операции и возвращать результат.

В Python функция создается с помощью ключевого слова "def" (от слова "define" — определить), затем следует имя функции, круглые скобки и тело функции, которое заключено в круглые скобки.

Вот пример простой функции на Python:

def hello_world():
print("Привет, мир!")


В этом примере функция называется "hello_world", она не принимает входные данные и не возвращает результат. Вместо этого она просто выводит строку "Привет, мир!" на экран».

Спросить GigaChat можно и о многом другом — попробуйте: @gigachat_bot

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

Python Academy

Ждем тебя на мероприятии «GitVerse: открой вселенную кода» от СберТеха

29 марта в 10:00 СберТех проведет онлайн-презентацию, на которой расскажет о GitVerse – платформе для работы с исходным кодом. GitVerse позволяет создавать проекты с открытым и закрытым исходным кодом и развивать их вместе с ИТ-сообществом. На платформе можно организовывать совместную работу, привлекать к проектам новых участников, комментировать код и назначать задачи.

О чем поговорим на мероприятии:
· Тренды разработки и роль открытого ПО в современном ИТ
· Возможности GitVerse и планы развития
· GigaCode – AI-помощник разработчика (AI, artificial intelligence — искусственный интеллект)
· Участие комьюнити в проекте
· Пакет облачных сервисов и его преимущества для разработчиков
· Обзор интересных репозиториев на GitVerse
· Реальные кейсы разработки и оптимизации с помощью GitVerse
· Общение в прямом эфире

Регистрируйся на мероприятие на сайте.

Обещаем: будем интересно и полезно!

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

Python Academy

Ипотека в Москве по низкой ставке

Level предлагают оформить IT-ипотеку по полной стоимости от 5,582 до 6,502% годовых. У вас есть возможность снизить ставку до 0,99% годовых. Предложение доступно тем, кто работает в аккредитованной Минцифры России IT-компании не меньше трёх месяцев.

Если вам меньше 35 лет, можно оформить IT-ипотеку вне зависимости от уровня дохода. Специалистам от 35 до 50 лет одобряют ипотеку, если они подходят под условия месячного заработка.

Вы сможете до 15 месяцев платить по ставке 0,99% годовых. Конкретный срок определяется в зависимости от проекта. В акции участвуют проекты Level Академическая, Южнопортовая, Нижегородская, Селигерская, Мичуринский и Бауманская.

Когда льготный период закончится, ставка будет всего 5%.

Заявку можно подать до 31 марта. Действуйте быстро — и воспользуйтесь отличным шансом приобрести своё жильё. Подробности о проекте читайте на сайте девелопера.

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

Python Academy

Вычисляем ip-адрес своего компьютера

Для этого используется библиотека requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.

Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.

#python

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

Python Academy

Управление версионностью Python с помощью pyenv

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

Возможности pyenv включают:

- Изменение глобальной версии Python для пользователя;
- Управление версиями Python для индивидуальных проектов;
- Переопределение версии Python через переменную среды;
- Поиск и выполнение команд сразу из нескольких версий Python.

#pyenv

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

Python Academy

Хэширование

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

Для хэширования значений есть встроенная функция hash(). Используется она в основном для сравнения значений разных объектов — сравнивать хэши легче и выгоднее.

Но изменяемые объекты по типу списков и словарей нельзя хэшировать — интерпретатор выбросит соответствующую ошибку.

Здесь, кстати, есть две пасхалки. Хэш бесконечности равен перым цифрам числа Пи, а хэш Not a Number равен нулю.

А еще случаются коллизии: например, хэши чисел -1 и -2 одинаковы.

#hash

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

Python Academy

Присоединяйтесь к GitVerse – платформе для быстрого создания исходного кода с AI-помощником

Разработчики получили доступ к GitVerse – платформе для совместной разработки и хостинга кода от СберТеха. Она позволяет создавать проекты с открытым и закрытым кодом, приглашать новых участников, переносить репозитории с популярных мировых ресурсов в один клик и общаться с единомышленниками в ИТ-сообществе.

Первые пользователи, зарегистрировавшиеся на GitVerse, смогут присоединиться к открытому тестированию персонального AI-ассистента разработчика (AI, artificial intelligence — искусственный интеллект) — сервису GigaCode. Он ускоряет и упрощает программирование, генерируя варианты завершения кода непосредственно в среде разработки в режиме реального времени.

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

Подробности и правила акции, а также регистрация на сайте платформы.

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

Python Academy

Логирование

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

Python поставляется для этих целей с гибким модулем logging. Для создания объекта Logger, вызываем функцию getLogger, передавая в нее имя логера.

Созданный объект Logger предоставляет методы для записи сообщений разного уровня (DEBUG, INFO, WARNING, ERROR, CRITICAL), что удобно для поиска нужной информации с применением фильтров.

По умолчанию в logging задан уровень WARNING, это означает, что сообщения уровня DEBUG и INFO будут игнорироваться при записи в лог. Изменить данное поведение можно с помощью метода setLevel, передав минимальный уровень, который будет отлавливаться.

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

#logging

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

Python Academy

Яндекс открывает набор в бесплатные летние школы с новым направлением и дополнительным курсом

Теперь летних школ Яндекса пять: разработки интерфейсов, бэкенд-разработки, мобильной разработки, менеджеров и аналитиков-разработчиков. Еще в программу обучения добавился курс по soft skills, прохождение которого станет явным преимуществом будущих специалистов.

Также лучшие студенты школ смогут пройти оплачиваемую практику в новом формате Лаборатории с очным погружением во внутренние сервисы Яндекса, а, если вы из другого города, то компания и билеты с проживанием оплатит.  

Обучение в школах бесплатное. Чтобы поступить, оперативно переходим по ссылке и кидаем заявку, тестовое задание появится уже 13 марта

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

Python Academy

FastAPI Template — лучший темплейт со всем что надо для старта на FastAPI!

Одной из самых замечательных особенностей является то, что этот проект очень легко настраивается. Вы можете выбирать между различными базами данных и даже ORM, а можете даже сгенерировать проект без базы данных! В настоящее время поддерживаются SQLAlchemy 2.0, TortoiseORM, Piccolo и Ormar.

Фичи темплейта:
- Pydantic V2 (где это возможно, некоторые либы не поддерживают)
- Вы можете выбрать между GraphQL и REST API
- uvicorn и gunicorn
- Поддержка различных баз данных и ORM
- Опциональные миграции для каждого ORM (кроме сырых драйверов)
- Различные CI\CD
- Дополнительные демонстрационные роуты и модели (это поможет вам увидеть, как устроен проект)
- Сгенерированные тесты с почти 90% покрытием
- Дополнительная поддержка Redis, RabbitMQ, Kafka и taskiq
- Опциональная интеграция с Prometheus, Sentry и Opentelemetry
- Опциональный логгер Loguru

Ссылку оставляю тут.

#python #fastapi #template

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

Python Academy

Очень удобный телеграм бот для написания кода!

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

Если вы тоже решили начать изучать Python, то GigaChat поможет: модель объяснит основные понятия, ответит на вопросы об особенностях языка и синтаксисе.

Идем тестировать — тут.

#python #gigachat

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

Python Academy

Подтягиваем базу по алгоритмам и готовимся к собеседованиям с Тренировками 5.0

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

Занятия бесплатные и пройдут с 1 марта по 19 апреля. Чтобы попасть на Тренировки, достаточно зарегистрироваться до 29 февраля включительно.

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

Python Academy

Использование 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

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

Python Academy

Преобразование аудиофайлов с помощью Python

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

Для начала работы с файлом, используем метод from_ с указанием необходимого формата из класса AudioSegment, или же обратимся к более универсальному методу from_file, предоставляя путь к файлу и его формат.

Когда файл загружен, для его конвертации и сохранения в желаемом формате применяем метод export объекта класса AudioSegment, созданного на предыдущем шаге.

#python #pydub

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

Python Academy

Создание и использование виртуальной среды

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

Создание новой виртуальной среды требуется только один раз для каждого проекта, для которого вы хотите изолировать зависимости:
python3 -m venv venv

Это создаст папку venv, содержащую оснастку сценариев и копию python самого двоичного файла. Название папки не имеет значения.

Чтобы активировать виртуальную среду, нужно запустить activate файл: source venv/bin/activate и далее мы можем свободно устанавливать любые зависимости, которые никак не скажутся на работе в будущих проектах.

#python #virtualenv

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

Python Academy

Создание QR-кода с помощью qrcode инструмента

Воспользуйтесь этим простым, но эффективным инструментом для генерации QR-кодов. Для рисования изображений необходима библиотека Pillow, так что проверьте ее наличие перед началом работы.

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

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

#qrcode

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