Python академия
Відкрити в Telegram
Учи Python быстро и легко. Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам. ✔ Подходит для прокачки навыков кодирования. По всем вопросам @evgenycarter
Показати більше7 290
Підписники
-824 години
-187 днів
-4330 день
Архів дописів
7 290
Поиск подстроки в строке
Pегулярное выражение — это строка, задающая шаблон поиска подстрок в тексте. В Python есть встроенный модуль, позволяющий работать с регулярными выражениями, — re, который содержит функцию search. Она позволит вам найти подстроку в строке
Подписывайтесь на канал 👉@pythonofff
7 290
📕Открытый урок для Python-разработчиков, инженеров, QA-специалистов и специалистов по Data Science
На открытом уроке 23 января в 20:00 мск мы изучим асинхронное взаимодействие в Python на примере RabbitMQ.
📗В результате мы:
- Поговорим про асинхронное взаимодействие в микросервисной архитектуре и асинхронное программирование в Python;
- Рассмотрим практический пример построения архитектуры приложения;
- Разберемся в преимуществах и недостатках такого подхода.
Спикер Панкрашов Дмитрий — ведущий разработчик в компании-партнере вендора СЭД "Директум", 5+ лет опыта в backend-разработке, работает с Python, PHP, .NET (C#), PostgreSQL.
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cHzBf9
📙 Все участники открытого урока получат скидку на курс "Python Developer. Professional"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
7 290
Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или классов без изменения их исходного кода. Они позволяют добавлять дополнительную функциональность к уже существующим объектам, делая код более читаемым и поддерживаемым. Декораторы можно рассматривать как функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, обычно с расширенным или измененным поведением.
Для создания декоратора необходимо определить функцию, которая будет выполнять дополнительную логику, и применить ее к целевой функции с помощью символа
@. Например, если у нас есть функция, которую мы хотим декорировать, мы можем создать декоратор, который будет выводить время выполнения этой функции. Декоратор применяется к целевой функции, что позволяет нам измерить время ее выполнения без изменения самой функции.
import time
def timer_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Time taken to execute {func.__name__}: {end_time - start_time} seconds")
return result
return wrapper
@timer_decorator
def some_function():
# some code here
pass
some_function()
В приведенном примере мы создали декоратор timer_decorator, который измеряет время выполнения целевой функции и выводит результат. Затем мы применили этот декоратор к функции some_function с помощью символа @. При вызове some_function декоратор автоматически добавляет логику измерения времени выполнения, не изменяя саму функцию.
Использование декораторов позволяет избежать дублирования кода и упрощает поддержку и анализ программы. Они также улучшают читаемость кода, поскольку дополнительная логика выносится из основной функции. Декораторы являются важной частью Python и позволяют разработчикам создавать более гибкие и масштабируемые приложения.
Подписывайтесь на канал 👉@pythonofff7 290
Курс по frontend-разработке с junior до middle
Стань специалистом по frontend-разработке с помощью менторов. Оставь заявку!
Узнать больше
#реклама 16+
ykul.ru
О рекламодателе
7 290
Форматирование данных с помощью pprint
Модуль pprint из стандартной библиотеки Python предоставляет разработчикам удобный способ вывода сложных и вложенных объектов в более читаемом виде. В отличие от стандартной функции print, pprint автоматически форматирует данные для удобства восприятия.
Когда вы пытаетесь вывести на печать крупный или сложно-структурированный объект с помощью print, результат может быть трудночитаемым из-за отсутствия форматирования. В таких случаях модуль pprint становится настоящим must-have инструментом для разработчиков, работающих с нетривиальными структурами данных.
Пример использования pprint:
import pprint
data = {'name': 'John', 'age': 30, 'city': 'New York', 'hobbies': ['reading', 'coding', 'hiking']}
pprint.pprint(data)
В результате выполнения данного кода вы увидите словарь data в удобочитаемом формате, который автоматически отформатировал модуль pprint. Это значительно облегчает работу с большими и сложными структурами данных в Python.
Подписывайтесь на канал 👉@pythonofff7 290
Здесь научат стильно одеваться с любыми формами!
"PLUS SIZE: Секреты Стиля" - ваш стильный компас!
Не важно, какой у вас размер, уверенность и стиль доступны каждому!👍
- Подбор модных образов, которые подчеркнут вашу уникальность. - t.me/+yvmDUxVA5GAyZjBi
- Секреты стиля и ухода, чтобы вы сияли. t.me/+yvmDUxVA5GAyZjBi
- Находки аксессуаров и одежды специально для вас. t.me/+yvmDUxVA5GAyZjBi
❤️Откройте для себя свои собственные секреты стиля!
👌Ссылка на канал t.me/+yvmDUxVA5GAyZjBi
Узнать больше
#реклама
О рекламодателе
7 290
Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
Библиотека Pillow (Python Imaging Library) предоставляет различные фильтры для обработки изображений. Один из параметров, который можно использовать при повороте изображения, — это resample. Этот параметр позволяет выбрать определенный фильтр, который будет применяться при изменении размера изображения. В Pillow доступны три основных фильтра: NEAREST (ближайший сосед), BILINEAR и BICUBIC.
Фильтр NEAREST является фильтром по умолчанию и работает быстро, но может привести к пикселизации и потере деталей при увеличении изображения. Фильтр BILINEAR обеспечивает более плавное увеличение и улучшенное качество по сравнению с NEAREST. Фильтр BICUBIC является наиболее точным и обеспечивает наилучшее качество изображения, сохраняя детали и сглаживая цветовые переходы.
from PIL import Image
img = Image.open('image.jpg')
resized_img = img.resize((width, height), resample=Image.BICUBIC)
resized_img.show()
Использование фильтра BICUBIC позволяет улучшить четкость изображения и сохранить детали при изменении размера. Например, если на изображении присутствуют тонкие линии или текст, то фильтр BICUBIC поможет сделать их более четкими и улучшить общее качество изображения. При этом фильтры BILINEAR и NEAREST также могут быть полезны в зависимости от конкретной задачи и требований к изображению.
Подписывайтесь на канал 👉@pythonofff7 290
Проверка данных при помощи декораторов
Еще один полезный метод, который может быть реализован с помощью декораторов, заключается в проверке данных до запуска декорированной функции. Очень распространенный этому пример в веб-приложении — это аутентификация пользователя. Если задача проверки/аутентификации завершается неудачно, то декорированная функция не вызывается, и вместо нее появляется ошибка.
В данном примере, декоратор only_admins ищет HTTP заголовок X-Auth-Token во входящем запросе и затем проверяет, если он совпадает с секретным токеном администратора, который для простоты мы сделали константой.
Если нет заголовка токена, или если он есть, но не совпадает, то функция abort() из Flask выполняется для генерации ответа 401 и остановки дальнейших запросов. В противном случае запрос может пройти, вызвав при этом декорированную функцию.
Обратите внимание, как в примере функции представления admin_route() используются декораторы app.route и only_admins. Это называется цепью декораторов.
Подписывайтесь на канал 👉@pythonofff
7 290
Дизайн в FIGMA с нуля. Бесплатный курс + портфолио
Онлайн-программа с наставником и чатом. Дизайн от профессионалов. Доступ 0 руб.
Узнать больше
#реклама 16+
yudaevschool24.online
О рекламодателе
7 290
Как удалить элемент массива в Python?
Вы можете использовать .remove() метод, чтобы удалить нужный элемент из массива на Python
arr = ["тест", "тест 1", "тест 2"]
arr.remove("тест 2")
# Вывод: ['тест', 'тест 1']
print(arr)
Подписывайтесь на канал 👉@pythonofff
7 290
Проверка прав доступа через декораторы
Распространенным шаблоном при работе с веб-приложениями является проверка есть ли у клиента разрешение на выполнение запрашиваемого действия. Проверки включают получение значения из заголовка HTTP запроса (токен) или из cookie браузера, для идентификации клиента. Затем, когда клиент распознан, используется специальный метод для определения допустимых прав доступа у данного клиента.
Поскольку фактическая проверка разрешений зависит от приложения, здесь будет показан общий пример, в котором просто дает разрешение на выполнение запроса на основе значения из HTTP заголовка.
Подписывайтесь на канал 👉@pythonofff
7 290
Крупнейший университет искусственного интеллекта
Приглашаем на бесплатный однодневный интенсив по AI!
Освой искусственный интеллект для профессионального роста: создавай нейросети, автоматизируй бизнес-задачи и зарабатывай на AI-решениях.
✨ 8 000+ студентов со всего мира
✨ 600+ AI-проектов, созданных студентами
✨ Сборная Университета — победители крупнейших AI-хакатонов России
✨ Стажировки в крупнейших компаниях России (РЖД, Ростелеком, РУДН, Совкомбанк, Самолет и другие)
✨ Трудоустраиваем выпускников в крупнейшие компании (Яндекс, ВТБ, Сбербанк, Роскосмос и другие)
Будем рады видеть тебя в наших рядах!
Узнать больше
#реклама 16+
neural-university.ru
О рекламодателе
7 290
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/sysadmin_girl Девочка Сисадмин
https://t.me/srv_admin_linux Админские угодья
https://t.me/linux_srv Типичный Сисадмин
https://t.me/linux_odmin Linux: Системный администратор
https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
Excel лайфхак📌
https://t.me/Excel_lifehack
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
7 290
Фильтры NEAREST, BILINEAR и BICUBIC в Pillow
Параметр resample можно использовать для указания определенного фильтра, который будет использоваться при поворачивании изображения.
• Image.NEAREST (ближайший сосед / по умолчанию);
• Image.BILINEAR;
• Image.BICUBIC.
С помощью фильтра Image.BICUBIC детали изображения станут более четким, чем в случае использования фильтра по умолчанию Image.NEAREST.
Небольшие различия есть, но у данной картинки они не очень видны. Но, например фильтр Image.BILINEAR сделал картинку более гладкой.
Подписывайтесь на канал 👉@pythonofff
7 290
Встроенная функция float в Python
Если строка, которую надо конвертировать в число, не является целым числом, здесь поможет метод float.
Float также можно использовать для преобразования целых чисел в числа с плавающей запятой.
В Python 2 такое преобразование необходимо, но в Python 3 целочисленное деление больше не является чем-то особенным (если вы специально не используете оператор «//»). Поэтому больше не нужно использовать float для этой цели, теперь float(x)/y можно легко заменить на x/y.
Подписывайтесь на канал 👉@pythonofff
7 290
Ну не умею я красиво одеваться!
Давай научу, выбирай свой возраст:
Мне 18-25 лет - t.me/+YepHkYX-ZQwxMzli
Мне 26-35 лет - t.me/+aUpdmHOUwgZmZjEy
Мне 36-45 лет - t.me/+lSc2DnJB90AxMjQy
Мне 46-55 лет - t.me/+YwkWnVG8gpoyY2My
Мне 56-65 лет - t.me/+pc3nNb-rpd5hNGFi
Мне 70+ лет - t.me/+d2QiY--9_VZlYWFi
Тут нет моего возраста - t.me/+h2ycvU7czZthODli
Узнать больше
#реклама
О рекламодателе
7 290
Функции sleep() и time()
Чтобы понять смысл функции sleep(), разберём простой пример. Три строки выводятся в определённый промежуток времени – задержку обеспечивает sleep.
Сперва выводится первая строка, затем идёт функция sleep(), которая задерживает вывод на 2 секунды. Точно так же для следующего print мы используем sleep на 5 секунд.
Рассмотрим пример использования sleep() для создания промежутка времени. Мы используем функцию time(), чтобы узнать текущее время, и localtime(), чтобы получить текущие дату и время в конкретной местности. Кроме того, есть функция strftime() («string from time»), которая возвращает время в виде строки в указанном формате.
В результате интервал между двумя моментами времени составил две секунды.
Подписывайтесь на канал 👉@pythonofff
7 290
Простой веб-фреймворк
На сегодняшний день упрощенным вариантом веб-фреймворка WSGI для Python, является Bootle.
Это своего рода файловый модуль в единственном числе не имеющий сторонних библиотек, кроме стандартной Python.
Модуль Bootle вполне реализует себя в работах как с малыми, так и большими проектами, хотя его функционал состоит не из самых обширных возможностей: обработка форм, routing, POST-routing, сервер и cookies.
Для более точного рассмотрения результата, достаточно запустить данный модуль, прописать пять строк кода и перейти по адресной строке в браузере: localhost:5000/hello/world
Подписывайтесь на канал 👉@pythonofff
7 290
Получи грант на обучение в Центральном университете
Прояви себя, получи грант до 2,8 млн на обучение ИТ и бизнесу в вузе.
Для школьников 10-х и 11-х классов, СПО.
Подать заявку
#реклама
apply.centraluniversity.ru
О рекламодателе
7 290
Как удалить строку из файла в Python?
filename = "test.txt"
delete_string = "строка 2"
lines = []
with open(filename, 'r') as file:
for line in file:
if line.strip() != delete_string:
lines.append(line)
with open(filename, "w") as file:
file.writelines(lines)
Подписывайтесь на канал 👉@pythonofff
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
