Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]
Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:
# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))
Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.
Почему это полезно
Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🏎💨Не позволяйте вашим приложениям терять скорость! Обрабатывайте задачи эффективно с FastAPI.
Узнайте, как фоновые задачи могут повысить отзывчивость вашего приложения.
Освойте FastAPI и научитесь улучшать производительность приложений. Повышение скорости ответа и снижение нагрузки — это реально.
⚡️Присоединяйтесь к открытому вебинару 20 мая в 20:00 мск и получите скидку на большое обучение «Python Developer. Basic»: https://otus.pw/yjXt/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Узнайте, как фоновые задачи могут повысить отзывчивость вашего приложения.
Освойте FastAPI и научитесь улучшать производительность приложений. Повышение скорости ответа и снижение нагрузки — это реально.
⚡️Присоединяйтесь к открытому вебинару 20 мая в 20:00 мск и получите скидку на большое обучение «Python Developer. Basic»: https://otus.pw/yjXt/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?
zip()
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
22 мая(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Собес проведет Вадим Пуштаев, ex. head of backend в
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqxf5Xvt
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑🏻💻Хотите начать карьеру в программировании или улучшить свои навыки? Python — один из самых востребованных языков, который откроет для вас множество возможностей.
На курсе «Python Developer. Basic» вы научитесь создавать веб-приложения, работать с базами данных, использовать фреймворки FastAPI и Django, а также погрузитесь в асинхронное программирование.
Не упустите шанс прокачать свои навыки под руководством опытных практикующих экспертов. Программа курса регулярно обновляется с учетом требований рынка. После окончания вы будете готовы к реальным задачам и сможете претендовать на роль уверенного Junior Python-разработчика.
🚀Старт группы уже близко, оставьте заявку прямо сейчас и получите скидку на обучение: https://otus.pw/Vnsw/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На курсе «Python Developer. Basic» вы научитесь создавать веб-приложения, работать с базами данных, использовать фреймворки FastAPI и Django, а также погрузитесь в асинхронное программирование.
Не упустите шанс прокачать свои навыки под руководством опытных практикующих экспертов. Программа курса регулярно обновляется с учетом требований рынка. После окончания вы будете готовы к реальным задачам и сможете претендовать на роль уверенного Junior Python-разработчика.
🚀Старт группы уже близко, оставьте заявку прямо сейчас и получите скидку на обучение: https://otus.pw/Vnsw/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Когда-нибудь задумывались о том, как заглянуть внутрь объекта в Python и посмотреть на его атрибуты? Конечно, задумывались.
>>> dir()
>>> dir("Hello World")
>>> dir(dir)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Python уже покорен? А как насчет Django?
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
1️⃣ Работать с бэкендом и API
2️⃣ Создавать веб-приложение по шаблону от Django
3️⃣ Настраивать Nginx и Gunicorn
4️⃣ Автоматизировать резервное копирование
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwEQ3nk
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwEQ3nk
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:
>>> 3 * 3
9
>>> _ + 3
12
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Новый лучший способ форматирования строк в Python
Привет, Хабр! Приближается релиз Python 3.14, который несет нам множество нововведений. Среди них — новый способ форматирования строк. Давайте посмотрим, что из себя представляют t-строки, на что они...
Генераторы в Python позволяют создавать ленивые последовательности, которые вычисляются по мере необходимости.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Python — отличный скриптовый язык. Но иногда стандартные библиотеки
os
и subprocess
вызывают только головную боль.sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))
Внутри
print_argument
мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».@print_argument
мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.Argument for add_one is 1
2
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM