Хочешь пройти путь от Джуна до Мидла, чтобы повысить зарплату и навыки?
Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.
На Тестовом уроке ты:
🔹Оценишь свои знания.
🔹Напишешь код (даже если раньше никогда этого не делал).
🔹Получишь подробную обратную связь.
🔹Построишь индивидуальную программу обучения.
🔹Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.
👉Запишись на Тестовый урок после прохождения небольшого опроса в боте.
Реклама: erid 2Vtzqx3GHVw , ООО "ДЕВМАН", ИНН 5001149108
Приходи на бесплатный Тестовый урок по Python вместе с опытным разработчиком.
На Тестовом уроке ты:
🔹Оценишь свои знания.
🔹Напишешь код (даже если раньше никогда этого не делал).
🔹Получишь подробную обратную связь.
🔹Построишь индивидуальную программу обучения.
🔹Узнаешь, как наши ученики попадают на стажировку и обучаются до уровня “Мидл”.
👉Запишись на Тестовый урок после прохождения небольшого опроса в боте.
Реклама: erid 2Vtzqx3GHVw , ООО "ДЕВМАН", ИНН 5001149108
Асинхронный фреймворк для разработки сетевых приложений Twisted
Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
#python
Фреймворк предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные. Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
#python
PyAutoGUI
PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.
Из ключевого функционала можно выделить следующее:
— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.
Основные функции показаны в примере на картинке выше, остальное — в документации проекта.
#pyautogui
PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает в Windows, macOS и Linux на Python 2 и 3.
Из ключевого функционала можно выделить следующее:
— Передвижение курсора и нажатие на кнопки мыши;
— Набор текста, например для заполнения форм;
— Скриншоты, поиск указанных изображений на экране (например, иконки) и нажатие на них;
— Поиск приложения на экране, изменение размера его окна, перемещение по экрану и т. д.
Основные функции показаны в примере на картинке выше, остальное — в документации проекта.
#pyautogui
Встречайте GigaCode — российский AI-инструмент для ускорения работы с кодом!
Отличная новость для разработчиков — у них есть возможность воспользоваться AI-помощником*, который ускоряет работу с кодом.
GigaCode поддерживает 15 языков программирования и может предлагать полные конструкции функций, циклов и других элементов кода. AI-ассистента можно использовать в любой привычной среде разработки, такой как IDEA, PyCharm, VSCode, Jupyter и других. Он генерирует варианты завершения кода в режиме реального времени, что ускоряет и упрощает процесс работы.
GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.
AI-ассистент доступен для использования на площадке GitVerse — платформе для работы с исходным кодом от СберТеха. Здесь можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.
Чтобы получить ранний доступ к GigaCode, зарегистрируйтесь на GitVerse. Проект доступен всем желающим.
Не упустите возможность ускорить свою работу с кодом!
*AI, artificial intelligence — искусственный интеллект
Отличная новость для разработчиков — у них есть возможность воспользоваться AI-помощником*, который ускоряет работу с кодом.
GigaCode поддерживает 15 языков программирования и может предлагать полные конструкции функций, циклов и других элементов кода. AI-ассистента можно использовать в любой привычной среде разработки, такой как IDEA, PyCharm, VSCode, Jupyter и других. Он генерирует варианты завершения кода в режиме реального времени, что ускоряет и упрощает процесс работы.
GigaCode развивается вместе c сервисом GigaChat. В AI-ассистенте есть нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определенных задачах разработки. А по опыту команд в Сбере, GigaCode может сокращать время для создания кода до 25%.
AI-ассистент доступен для использования на площадке GitVerse — платформе для работы с исходным кодом от СберТеха. Здесь можно размещать проекты с открытым и закрытым кодом, вести совместную разработку и участвовать в жизни комьюнити.
Чтобы получить ранний доступ к GigaCode, зарегистрируйтесь на GitVerse. Проект доступен всем желающим.
Не упустите возможность ускорить свою работу с кодом!
*AI, artificial intelligence — искусственный интеллект
Временные файлы
В стандартной библиотеке Python есть модуль
Функция
Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера.
Также другие процессы и приложения не смогут получить доступ к этому временному файлу.
#tempfile
В стандартной библиотеке Python есть модуль
tempfile
, который содержит классы и методы для корректной работы со временными файлами и директориями.Функция
TemporaryFile
создает временный файл в системной директории и возвращает файлоподобный объект.Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера.
Также другие процессы и приложения не смогут получить доступ к этому временному файлу.
#tempfile
Если вы хотите стать разработчиком, то вот ваш золотой билет — курс «Python-разработчик» от Академии Eduson.
→ В нём более 200 уроков и столько же практики: задач с проверкой от эксперта, упражнений в интерактивной рабочей тетради и «песочнице».
→ Один на один вас с курсом не бросят — в течение года на связи будет личный куратор.
→ За время обучения вы освоите Пайтон до крепкого уровня junior, а заодно соберёте портфолио из 7 работ.
→ Вы найдёте работу или деньги за курс вернут. И это не обещание на словах — всё прописано в договоре.
Влюбитесь в профессию с бесплатных блоков. На них вы погрузитесь в основы создания и управления продуктами, поймете, чем занимается Python-разработчик и как устроена работа в IT. А потом уже выберите — проходить программу до конца или нет.
Переходите по ссылке, оставляйте заявку и вводите промокод ПИТОН — с ним вы получите скидку 65% и личную консультацию в подарок.
Реклама. ООО "Эдюсон", ИНН 7729779476, erid: LjN8Kad6b
→ В нём более 200 уроков и столько же практики: задач с проверкой от эксперта, упражнений в интерактивной рабочей тетради и «песочнице».
→ Один на один вас с курсом не бросят — в течение года на связи будет личный куратор.
→ За время обучения вы освоите Пайтон до крепкого уровня junior, а заодно соберёте портфолио из 7 работ.
→ Вы найдёте работу или деньги за курс вернут. И это не обещание на словах — всё прописано в договоре.
Влюбитесь в профессию с бесплатных блоков. На них вы погрузитесь в основы создания и управления продуктами, поймете, чем занимается Python-разработчик и как устроена работа в IT. А потом уже выберите — проходить программу до конца или нет.
Переходите по ссылке, оставляйте заявку и вводите промокод ПИТОН — с ним вы получите скидку 65% и личную консультацию в подарок.
Реклама. ООО "Эдюсон", ИНН 7729779476, erid: LjN8Kad6b
Управление Docker контейнерами с помощью docker-py
В данном примере мы создаем клиента
Управление образами с помощью docker-py:
Для дальнейшего изучения и ознакомления с более продвинутыми возможностями рекомендуется обратиться к официальной документации.
#python #docker #dockerpy
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
Backend-разработчики, расчищайте график на 13, 14 апреля. Авито проводит Weekend Offer! Нанимаем без привязки к языку программирования.
Мы предлагаем:
✔️прокачку навыков Go - и PHP-разработки;
✔️платформенные и продуктовые команды;
✔️комьюнити из 1000+ инженеров для обмена опытом;
✔️работу с микросервисной архитектурой, автоматизацией поддержки и другими ведущими проектами компании;
Подавайте заявку до 11 апреля и приходите на интервью.
Мы предлагаем:
✔️прокачку навыков Go - и PHP-разработки;
✔️платформенные и продуктовые команды;
✔️комьюнити из 1000+ инженеров для обмена опытом;
✔️работу с микросервисной архитектурой, автоматизацией поддержки и другими ведущими проектами компании;
Подавайте заявку до 11 апреля и приходите на интервью.
Работа с ip адресами
Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль
Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).
Кстати, у модуля
#ipaddress
Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль
ipaddress
.Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).
Кстати, у модуля
ipaddress
есть и много других интересных возможностей, прочитать о которых можно здесь.#ipaddress
Работаем с USB
Основные методы для работы с
Пакет
Функция
Также есть реализация внешнего и внутреннего интерфейса, для изоляции
#python #PyUSB
PyUSB
— это библиотека, которая обеспечивает легкий доступ к USB
. Имеет поддержку изохронной передачи, если её поддерживает бэкенд.Основные методы для работы с
USB
, такие как find()
, show_devices()
и т. д, хранятся в usb.core
.Пакет
usb.util
содержит вспомогательные функции.Функция
find()
используется для поиска устройств, подключенных к системе.Также есть реализация внешнего и внутреннего интерфейса, для изоляции
API
от деталей реализации системы. Связующим звеном между двумя слоями является интерфейс IBackend
. PyUSB
поставляется со встроенными бэкэндами для libusb 1.0,
libusb 0.1
и OpenUSB
.#python #PyUSB
Возвращаем значение по указанному ключу с помощью метода setdefault()
Метод
Метод
— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
Метод
setdefault()
в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.Метод
setdefault()
имеет два параметра:— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
Работаем с файловыми путями
В стандартной библиотеке есть максимально удобный пакет
Для представления пути к файлу есть класс
Но самой классной фичей является замена
Итого, пакет
#pathlib
В стандартной библиотеке есть максимально удобный пакет
pathlib
для простой работы с файловыми путями. Для представления пути к файлу есть класс
Path
, с объектами которого уже можно производить операции. Например, методы exists()
и is_dir()
проверяют, существует ли файл и является ли он директорией. Но самой классной фичей является замена
os.path.join()
на более удобный и элегантный вариант с использованием слэшей, как показано на картинке. Итого, пакет
pathlib
может стать частичной заменой os
в некоторых случаях при работе с файловыми путями. #pathlib
Делаем ошибки более читаемыми
В
Установить его можно через пакетный менеджер
Как результат, вывод ошибок в вашей программе будет выглядеть более читаемым. Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.
Также модуль можно модифицировать, указав параметры в конфиге. Подробнее можете почитать в документации модуля.
#python #pretty_errors
В
Python
есть удобный модуль pretty_errors
, который делает стандартный вывод исключений и их traceback
более удобным для чтения и красивым в целом. Установить его можно через пакетный менеджер
pip
. А для того, чтобы он заработал, достаточно импортировать его в ваш код. Как результат, вывод ошибок в вашей программе будет выглядеть более читаемым. Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.
Также модуль можно модифицировать, указав параметры в конфиге. Подробнее можете почитать в документации модуля.
#python #pretty_errors
Форматируем строку для URL-адреса
Для начала стоит вспомнить, что слаг (slug) — это уникальная строка-идентификатор, понятная человеку и содержащая только "безопасные" символы: латинские символы в нижнем регистре, цифры и дефис.
Чаще всего такое понятие можно встретить в контексте URL-адресов. Например, можно формировать слаг из названия какой-нибудь статьи и вставлять его в ссылку, чтобы людям было понятно, куда они переходят.
Выше в коде мы написали простую функцию, где использовали методы
Также для удаления некоторых символов и замены на знак дефиса были использованы регулярные выражения и встроенный пакет
#python #re
Для начала стоит вспомнить, что слаг (slug) — это уникальная строка-идентификатор, понятная человеку и содержащая только "безопасные" символы: латинские символы в нижнем регистре, цифры и дефис.
Чаще всего такое понятие можно встретить в контексте URL-адресов. Например, можно формировать слаг из названия какой-нибудь статьи и вставлять его в ссылку, чтобы людям было понятно, куда они переходят.
Выше в коде мы написали простую функцию, где использовали методы
lower()
для приведения в нижний регистр и strip()
для удаления пробелов слева и справа. Также для удаления некоторых символов и замены на знак дефиса были использованы регулярные выражения и встроенный пакет
re
для работы с ними. #python #re
Тестирование на pytest
Но при разработке на
Также он поддерживает запуск тестов на
#python #pytest #assert
pytest
— ближе по духу к языку Python
нежели unittest
, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов. Но при разработке на
pytest
ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python
. Также он поддерживает запуск тестов на
unittest
и nose
, то есть полная обратная совместимость с ними.#python #pytest #assert
dict.get()
Синтаксис метода
#python
dict.get()
— это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]
), метод get()
предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.Синтаксис метода
get()
выглядит так:value = dict.get(key, default)
key
: Ключ, по которому производится поиск в словаре.default
(необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default
не указан, и ключ не найден, метод вернет None
.#python
Работаем с картинками в Python
Библиотека Pillow — это очень мощный, быстрый и удобный инструмент для обработки графики в Python.
В сегодняшнем примере мы применим ее для конвертации картинки в черно-белую, обратим цвета, вертикально отзеркалим и сохраним в файл.
Метод
Больше официальных примеров и документацию можно посмотреть тут.
Пример можно посмотреть тут.
#pillow
Библиотека Pillow — это очень мощный, быстрый и удобный инструмент для обработки графики в Python.
В сегодняшнем примере мы применим ее для конвертации картинки в черно-белую, обратим цвета, вертикально отзеркалим и сохраним в файл.
Метод
Image.open('resources/img/cat.jpg')
считывает картинку из папки. img.convert('L')
трансформирует картинку в черно-белую. ImageOps.invert(image)
обращает цвета. img.transpose(Image.FLIP_LEFT_RIGHT)
вертикально отзеркаливает картинку. img.save('grayscale_cat.jpg')
сохранит картинку на диске. Больше официальных примеров и документацию можно посмотреть тут.
Пример можно посмотреть тут.
#pillow
Функция math.perm()
Он требует указания двух параметров:
Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
math.perm()
используется для определения количества возможных способов выбора и расположения m элементов из набора n элементов. Этот метод включен в модуль math
.Он требует указания двух параметров:
n
— общее число элементов в наборе, и m
— число элементов в каждой возможной выборке. Результатом выполнения функции является целочисленное значение, представляющее число таких перестановок. Если n
меньше m
, функция возвратит 0.Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
Хотите попробовать себя в роли аналитика и попрактиковаться на реальных задачах?
Приходите на бесплатный курс-симулятор Нетологии и Yandex Cloud «Основы анализа данных в SQL, Python, Power BI, DataLens».
В этой профессии много разных направлений — аналитик данных, BI-аналитик, продуктовый аналитик, Data Scientist. Но везде пригодится навык работы с инструментами-помощниками, которые вы и освоите на курсе.
Эксперты-практики расскажут, как делать простые отчёты, исследовать данные и строить интерактивные дашборды. А чтобы понять, что анализ данных — это точно ваше, вместе решите практические задачи из реальных кейсов.
Воспользуйтесь шансом попробовать новые инструменты и запишитесь на бесплатный курс Нетологии.
Регистрация: https://netolo.gy/c3Xk
Реклама. ООО "Нетология" LatgBcJFo
Приходите на бесплатный курс-симулятор Нетологии и Yandex Cloud «Основы анализа данных в SQL, Python, Power BI, DataLens».
В этой профессии много разных направлений — аналитик данных, BI-аналитик, продуктовый аналитик, Data Scientist. Но везде пригодится навык работы с инструментами-помощниками, которые вы и освоите на курсе.
Эксперты-практики расскажут, как делать простые отчёты, исследовать данные и строить интерактивные дашборды. А чтобы понять, что анализ данных — это точно ваше, вместе решите практические задачи из реальных кейсов.
Воспользуйтесь шансом попробовать новые инструменты и запишитесь на бесплатный курс Нетологии.
Регистрация: https://netolo.gy/c3Xk
Реклама. ООО "Нетология" LatgBcJFo