python_academy | Unsorted

Telegram-канал python_academy - Python Academy

-

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

Subscribe to a channel

Python Academy

Делаем ошибки более читаемыми

В Python есть удобный модуль pretty_errors, который делает стандартный вывод исключений и их traceback более удобным для чтения и красивым в целом.

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

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

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

#python #pretty_errors

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

Python Academy

Работаем с файловыми путями

В стандартной библиотеке есть максимально удобный пакет pathlib для простой работы с файловыми путями.

Для представления пути к файлу есть класс Path, с объектами которого уже можно производить операции. Например, методы exists() и is_dir() проверяют, существует ли файл и является ли он директорией.

Но самой классной фичей является замена os.path.join() на более удобный и элегантный вариант с использованием слэшей, как показано на картинке.

Итого, пакет pathlib может стать частичной заменой os в некоторых случаях при работе с файловыми путями.

#pathlib

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

Python Academy

Подсчет количества слов в текстовом файле

На этом примере в Python мы прочитаем текстовый файл и посчитаем количество слов в нем.

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

Python Academy

Работа с ip адресами

Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль ipaddress.

Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).

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

#ipaddress

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

Python Academy

Управление Docker контейнерами с помощью docker-py

docker-py – это официальная библиотека Python для Docker, предоставляющая API для взаимодействия с Docker Daemon. С её помощью можно автоматизировать процессы создания, запуска, остановки и удаления контейнеров, работы с образами, сетями и томами Docker.

import docker

# Создание клиента
client = docker.from_env()

# Запуск контейнера
container = client.containers.run("ubuntu:latest", "echo Hello, docker-py!", detach=True)

# Получение логов контейнера
print(container.logs().decode())

# Остановка и удаление контейнера
container.stop()
container.remove()

В данном примере мы создаем клиента Docker, используя переменные окружения текущей сессии. Затем мы запускаем контейнер из образа ubuntu:latest, выполняем в нем команду echo, выводим логи работы контейнера и в конце останавливаем и удаляем контейнер.

Управление образами с помощью docker-py:
# Получение списка всех образов
images = client.images.list()

# Вывод информации о каждом образе
for image in images:
print(f'ID: {image.id}, Теги: {image.tags}')


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

#python #docker #dockerpy

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

Python Academy

Временные файлы

В стандартной библиотеке Python есть модуль tempfile, который содержит классы и методы для корректной работы со временными файлами и директориями.

Функция TemporaryFile создает временный файл в системной директории и возвращает файлоподобный объект.

Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера.

Также другие процессы и приложения не смогут получить доступ к этому временному файлу.

#tempfile

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

Python Academy

PyAutoGUI

PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.

Из ключевого функционала можно выделить следующее:

— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.

Основные функции показаны в примере на картинке выше, остальное — в документации проекта.

#pyautogui

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

Python Academy

Хочешь пройти путь от Джуна до Мидла, чтобы повысить зарплату и навыки?

Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.

На Тестовом уроке ты:
🔹Оценишь свои знания.
🔹Напишешь код (даже если раньше никогда этого не делал).
🔹Получишь подробную обратную связь.
🔹Построишь индивидуальную программу обучения.
🔹Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.

👉Запишись на Тестовый урок после прохождения небольшого опроса в боте.

Реклама: erid 2Vtzqx3GHVw , ООО "ДЕВМАН", ИНН 5001149108

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

Python Academy

Защищаем исходный код обфускацией

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

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

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

В Python есть отличная библиотека pyarmor, предназначенная именно для этого. Пример использования этого пакета в терминале представлен выше на картинке.

#pyarmor

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

Python Academy

Уже сто раз начинал изучать программирование, но всегда выгорал и бросал на полпути?

Ничего удивительного! Программирование – это сложная для самостоятельного изучения сфера, ведь очень часто нужны не видеоуроки, а совет живого человека здесь и сейчас, комфортная обстановка и поддержка единомышленников.

Именно это можно получить в «Школе 21» (проект Сбера✔️ по БЕСПЛАТНОМУ обучению программированию с 0).

Чем отличается от других курсов / школ:

• Методика «Равный - равному»
• Нет расписания, оценок и менторов
Оплачиваемая стажировка во время основного обучения
• Тебе не нужно платить! Совсем! Ни за что!

Тех, кто готов освоиться в IT, приобрести новую профессию или улучшить навыки в текущей, приглашаем стать абитуриентами на оффлайн интенсиве в Великом Новгороде

• старт 1 апреля, продолжительность 26 дней (документы уже принимаются)
• учеба и проживание в инновационном кампусе Новгородской технической школы
• это абсолютно БЕСПЛАТНО

Подписывайся и узнавай подробности: весенний набор Великий Новгород 2024г

За подписку дарим 🎁 - гайд о том, как стать успешным программистом

Реклама. ООО «Цифровая жажда» Erid 2Vtzqv2Ric5

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

Python Academy

Программа бакалавриата в Центральном университете от Тинькофф с грантом до 100% для сильных и мотивированных абитуриентов!

Грант можно получить на одно из направлений бакалавриата по искусственному интеллекту, разработке и бизнес-аналитике. Помимо диплома и практико-ориентированного образования студенты получат:
- Персонализацию учебной траектории;
- Стажировку в одной из лучших ИТ-компании страны;
- Личного ментора на все время обучения;
- Доступ к современному кампусу в центре Москвы.

Получить полную информацию и оставить заявку можно здесь.
erid:2VtzqxXiVgy
Реклама, АНО ВО «Центральный университет», ИНН 7743418023

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

Python Academy

Использование модуля secrets для генерации случайных значений

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

Применение модуля secrets просто и напоминает работу с модулем random. Вот некоторые из его функций:
- secrets.choice(collection) выбирает и возвращает случайный элемент из предоставленной коллекции.
- secrets.randbelow(n) генерирует случайное целое число в пределах от 0 до n.
- secrets.randbits(n) создает целое число из n случайных бит.
- secrets.token_bytes(n) выдает случайную последовательность байт длиной в n байт.
- token_hex(n) предоставляет случайную строку из n байт, преобразованную в шестнадцатеричный формат.
- token_urlsafe(n) генерирует URL-безопасную строку длиной в n байт, закодированную в Base64.

Также, в модуле присутствует класс SystemRandom, поддерживающий большинство методов модуля random.

#python #secrets #random

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

Python Academy

Использование Docker вместе с Python

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

Зачем его использовать?
- Упрощение настройки среды: Docker избавляет от фразы "у меня работает, а у тебя нет". Все необходимые зависимости, библиотеки и окружение можно упаковать в контейнер, который будет работать одинаково на любой машине.

- Быстрая доставка и развертывание: С Docker вы можете легко и быстро развернуть своё приложение в любой среде, будь то облачная платформа или локальный сервер.

- Изоляция приложений: Каждое приложение работает в своем контейнере, не влияя на работу других приложений и системы в целом.

#python #docker

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

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

Приглашаем в Гостиную к Алисе!

«Гостиная Алисы. Не один дома» — это митап от команды Яндекса для middle+ бэкендеров: доклады о том, как устроена Алиса, Умные устройства, Беспилотные технологии и нетворкинг в неформальной обстановка

🔸 Павел Капля, руководитель продуктовой разработки Алисы. Расскажет, как запускали Новые возможности — и что пришлось изменить в нашем помощнике, чтобы заставить её думать по новому

🔸 Марат Мавлютов, руководитель службы разработки роботов-доставщиков. Объяснит, как наши роботы-доставщики видят мир вокруг себя, строят маршрут, ориентируются в толпе и проезжают светофоры
18 апреля, 19:00
Москва
Зарегистрироваться можно здесь.

Реклама ООО "Яндекс"
ИНН 7736207543

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

Python Academy

Возвращаем значение по указанному ключу с помощью метода setdefault()

Метод setdefault() в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.

Метод setdefault() имеет два параметра:

— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.


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

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

Python Academy

Работаем с USB

PyUSB — это библиотека, которая обеспечивает легкий доступ к USB. Имеет поддержку изохронной передачи, если её поддерживает бэкенд.

Основные методы для работы с USB, такие как find(), show_devices() и т. д, хранятся в usb.core.

Пакет usb.util содержит вспомогательные функции.

Функция find() используется для поиска устройств, подключенных к системе.

Также есть реализация внешнего и внутреннего интерфейса, для изоляции API от деталей реализации системы. Связующим звеном между двумя слоями является интерфейс IBackend.

PyUSB поставляется со встроенными бэкэндами для libusb 1.0, libusb 0.1 и OpenUSB.

#python #PyUSB

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

Python Academy

Backend-разработчики, расчищайте график на 13, 14 апреля. Авито проводит Weekend Offer! Нанимаем без привязки к языку программирования.

Мы предлагаем:

✔️прокачку навыков Go - и PHP-разработки;
✔️платформенные и продуктовые команды;
✔️комьюнити из 1000+ инженеров для обмена опытом;
✔️работу с микросервисной архитектурой, автоматизацией поддержки и другими ведущими проектами компании;

Подавайте заявку до 11 апреля и приходите на интервью.

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

Python Academy

Если вы хотите стать разработчиком, то вот ваш золотой билет — курс «Python-разработчик» от Академии Eduson.

→ В нём более 200 уроков и столько же практики: задач с проверкой от эксперта, упражнений в интерактивной рабочей тетради и «песочнице».
→ Один на один вас с курсом не бросят — в течение года на связи будет личный куратор.
→ За время обучения вы освоите Пайтон до крепкого уровня junior, а заодно соберёте портфолио из 7 работ.
→ Вы найдёте работу или деньги за курс вернут. И это не обещание на словах — всё прописано в договоре.

Влюбитесь в профессию с бесплатных блоков. На них вы погрузитесь в основы создания и управления продуктами, поймете, чем занимается Python-разработчик и как устроена работа в IT. А потом уже выберите — проходить программу до конца или нет.

Переходите по ссылке, оставляйте заявку и вводите промокод ПИТОН — с ним вы получите скидку 65% и личную консультацию в подарок.

Реклама. ООО "Эдюсон", ИНН
7729779476, erid: LjN8Kad6b

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

Python Academy

Встречайте GigaCode — российский AI-инструмент для ускорения работы с кодом!

Отличная новость для разработчиков — у них есть возможность воспользоваться AI-помощником*, который ускоряет работу с кодом.

GigaCode поддерживает 15 языков программирования и может предлагать полные конструкции функций, циклов и других элементов кода. AI-ассистента можно использовать в любой привычной среде разработки, такой как IDEA, PyCharm, VSCode, Jupyter и других. Он генерирует варианты завершения кода в режиме реального времени, что ускоряет и упрощает процесс работы.

GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.

AI-ассистент доступен для использования на площадке GitVerse — платформе для работы с исходным кодом от СберТеха. Здесь можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.

Чтобы получить ранний доступ к GigaCode, зарегистрируйтесь на GitVerse. Проект доступен всем желающим.
Не упустите возможность ускорить свою работу с кодом!

*AI, artificial intelligence — искусственный интеллект

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

Python Academy

Асинхронный фреймворк для разработки сетевых приложений Twisted

Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.

Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.

#python

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

Python Academy

Библиотека символьной математики для Python SymPy

В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.

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

#python

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

Python Academy

Получение аудиопотока с микрофона

Библиотека PyAudio предоставляет возможности для записи аудиопотока с различных устройств.

PyAudio работает посредством кросс-платформенной библиотеки PortAudio (поэтому необходимо заранее установить пакет разработки portaudio19-dev).

В приведенном примере мы создаем объект класса PyAudio и открываем поток с рядом констант для настройки аудиопотока, поступающего с микрофона (для выбора другого устройства нужно передать его номер в качестве аргумента input_device_index).

Данный объект потока позволяет считывать с устройства с помощью метода stream.read(). Полученную информацию мы можем использовать для дальнейшего анализа и модификации.

В примере же мы просто считываем 10 секунд, после чего записываем их в аудио-файл wav.

#pyaudio #audio

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

Python Academy

Метод join у строк

У строк есть полезный метод str.join(), который принимает на вход итерируемый объект, элементами которого также должны быть строки.

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

Проще говоря, если применить к строке этот метод, то она станет разделителем для элементов в новой строке.

#python #string

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

Python Academy

Поверхностное копирование

Копирование объектов может быть «поверхностное» (shallow) или «глубокое» (deep). Различия между ними заключаются в том, как обрабатываются вложенные объекты.

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

#python

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

Python Academy

Регистрируйтесь на конкурсы на площадке GitVerse и получайте возможность выиграть 500 тыс. руб!

Объявляем о начале регистрации на конкурсы от GitVerse в рамках олимпиады «IT-Планета 2024».
Вас ждут два трека, увлекательные задания и призовой фонд в размере 500 тыс. рублей *!

До 31 марта регистрируйтесь в конкурсе и проходите отборочное тестирование на платформе для разработчиков GitVerse от СберТеха. Можно выбрать из двух направлений:

👉 «Прикладное программирование if...else»

Это конкурс для разработчиков в возрасте от 18 до 35 лет, которые создают прикладное ПО.
Требования к участникам — знание C/C++/Java/Python, понимание алгоритмов и умение применять их на практике.

Вас ждут прикладные задачи, связанные с разработкой серверной части. А в случае успешного прохождения второго этапа — очный финал!

Подробные условия конкурсов и регистрация.

👉 «Разработка игр – GameDev»

Это соревнование для разработчиков игр в возрасте от 18 до 35 лет. Участвовать можно самостоятельно или вместе с командой до 4 человек.

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

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

Подробные условия конкурсов и регистрация.

Следите за новостями и удачи в конкурсах!

*За вычетом НДФЛ

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

Python Academy

👨‍💻 Как управлять командой, если сотрудники находятся в разных городах? Ведь руководитель не может следить за настроением подчинённых на удалёнке. Помочь может виртуальное пространство от Яндекс 360 с инструкцией о том, как лучше организовать рабочий процесс.

О выстраивании работы в разных часовых поясах и сохранении эффективности даже на дистанционке ребята расскажут 20 марта в 11:00 по Москве. Ещё есть время, чтобы зарегистрироваться на вебинар, сделать это можно здесь 👈

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

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 марта. Действуйте быстро — и воспользуйтесь отличным шансом приобрести своё жильё. Подробности о проекте читайте на сайте девелопера.

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