Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек 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
👍25
🏎💨Не позволяйте вашим приложениям терять скорость! Обрабатывайте задачи эффективно с 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
❤🔥2
Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?
zip()
.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль
collections
даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов. Здесь мы рассмотрим метод Counter()
.Этот метод принимает итерируемый объект, такой, как список или кортеж, и возвращает словарь, содержащий сведения о количестве различных объектов в исследуемом списке (Counter Dictionary). Ключами такого словаря являются уникальные элементы, представленные в итерируемом объекте, а значениями — количества таких элементов.
Counter()
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥2
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
❤🔥2😱2
🧑🏻💻Хотите начать карьеру в программировании или улучшить свои навыки? 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
👍4❤🔥2
Когда-нибудь задумывались о том, как заглянуть внутрь объекта в Python и посмотреть на его атрибуты? Конечно, задумывались.
>>> dir()
>>> dir("Hello World")
>>> dir(dir)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤🔥2
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥2
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
👍4❤🔥3
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:
>>> 3 * 3
9
>>> _ + 3
12
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Новый лучший способ форматирования строк в Python
Привет, Хабр! Приближается релиз Python 3.14, который несет нам множество нововведений. Среди них — новый способ форматирования строк. Давайте посмотрим, что из себя представляют t-строки, на что они...
👍8
Генераторы в Python позволяют создавать ленивые последовательности, которые вычисляются по мере необходимости.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Python — отличный скриптовый язык. Но иногда стандартные библиотеки
os
и subprocess
вызывают только головную боль.sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
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
👍10
__hash__
и __eq__
В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов
__hash__
и __eq__
.🗣️ Это особенно полезно при использовании объектов в качестве ключей в словарях или элементов в множествах, где требуется уникальность.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
__getattr__
В Python можно реализовать ленивую инициализацию атрибутов объекта с помощью метода
__getattr__
.🗣️ Это позволяет отложить вычисление и создание атрибутов до момента их первого обращения, что может быть полезно для оптимизации работы с ресурсозатратными данными.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10