🚀 Изучаем Python с нуля до уверенного уровня за 3 месяца — нашли лучший репозиторий для новичков.
📚 Что внутри:
• Чёткая структура по темам — от синтаксиса до ООП, без воды
• Сотни понятных примеров — меняй под себя и учись на практике
• Всё объяснено простым языком — даже если ты никогда не кодил
• Удобный формат Jupyter Notebook — легко читать и запускать
• И главное — абсолютно бесплатно
Начни разбираться в Python уже сегодня:
🔗 github.com/AllenDowney/ThinkPython
@python_job_interview
📚 Что внутри:
• Чёткая структура по темам — от синтаксиса до ООП, без воды
• Сотни понятных примеров — меняй под себя и учись на практике
• Всё объяснено простым языком — даже если ты никогда не кодил
• Удобный формат Jupyter Notebook — легко читать и запускать
• И главное — абсолютно бесплатно
Начни разбираться в Python уже сегодня:
🔗 github.com/AllenDowney/ThinkPython
@python_job_interview
❤5👍2🔥2😁1
❤9👍2🔥2
Как_построить_стратегию_поиска_работы_Практикум_Гайд.pdf
17.8 MB
Когда я впервые начал искать работу в IT, у меня уже были пет-проекты, немного знаний и огромное желание попасть в профессию. Но, если честно, я не понимал, с чего начинать. Как составить резюме? Что писать, если нет коммерческого опыта? Как вообще попасть на собеседование?
Много времени ушло на догадки, ошибки и отклики на вакансии, которые остались без ответа. Сейчас я бы с радостью сэкономил себе эти месяцы — и начал с четкой стратегии.
🧭 Такой план как раз подготовил Яндекс Практикум.
Они выпустили понятный гайд по стратегии поиска работы: шаг за шагом разбирают, как устроен найм сегодня, что реально важно работодателям, и как новичку не потеряться в этом процессе.
📌 Что чаще всего непонятно новичку:
— Как составить резюме, если нет коммерческого опыта?
— Что писать, кроме «учился на курсах» и «делал пет-проекты»?
— Где искать вакансии, чтобы не тратить месяцы впустую?
— Как пройти первое техническое интервью и не провалиться от волнения?
Всё это — не про код, а про стратегию. И хорошая новость в том, что её можно выстроить заранее.
📹 В дополнение — подборка видео от карьерных экспертов:
→ как выделиться среди кандидатов,
→ как составить резюме без опыта,
→ как пройти собеседование и получить оффер.
Гайд можно скачать прямо под этим постом — в нём простыми словами, по делу и без воды объясняют, с чего начать путь к первой работе.
Забирай гайд “Как построить стратегию поиска работы” и смотри видео с экспертами, чтобы выделиться среди кандидатов и быстрее получить оффер.
Реклама, АНО ДПО “Образовательные технологии Яндекса”, ИНН 7704282033
Много времени ушло на догадки, ошибки и отклики на вакансии, которые остались без ответа. Сейчас я бы с радостью сэкономил себе эти месяцы — и начал с четкой стратегии.
🧭 Такой план как раз подготовил Яндекс Практикум.
Они выпустили понятный гайд по стратегии поиска работы: шаг за шагом разбирают, как устроен найм сегодня, что реально важно работодателям, и как новичку не потеряться в этом процессе.
📌 Что чаще всего непонятно новичку:
— Как составить резюме, если нет коммерческого опыта?
— Что писать, кроме «учился на курсах» и «делал пет-проекты»?
— Где искать вакансии, чтобы не тратить месяцы впустую?
— Как пройти первое техническое интервью и не провалиться от волнения?
Всё это — не про код, а про стратегию. И хорошая новость в том, что её можно выстроить заранее.
📹 В дополнение — подборка видео от карьерных экспертов:
→ как выделиться среди кандидатов,
→ как составить резюме без опыта,
→ как пройти собеседование и получить оффер.
Гайд можно скачать прямо под этим постом — в нём простыми словами, по делу и без воды объясняют, с чего начать путь к первой работе.
Забирай гайд “Как построить стратегию поиска работы” и смотри видео с экспертами, чтобы выделиться среди кандидатов и быстрее получить оффер.
Реклама, АНО ДПО “Образовательные технологии Яндекса”, ИНН 7704282033
❤1
🧪 Pytest-BDD — фреймворк для Behavior Driven Development на Python. Инструмент позволяет писать тесты в формате Gherkin, используя привычный pytest. Он обладает возможность комбинировать BDD-сценарии с обычными pytest-тестами и фикстурами, что упрощает переход от unit-к интеграционным тестам.
Проект поддерживает параметризацию сценариев, различные парсеры аргументов и интеграцию с другими pytest-плагинами. Подходит для проектов, где важно совмещать технические и бизнес-требования в тестах.
🤖 GitHub
@python_job_interview
Проект поддерживает параметризацию сценариев, различные парсеры аргументов и интеграцию с другими pytest-плагинами. Подходит для проектов, где важно совмещать технические и бизнес-требования в тестах.
🤖 GitHub
@python_job_interview
❤5👍2🔥2
🧩 Задача:
❓ Что будет выведено?
Многие ожидают:
Но Python выведет:
🧠 Почему так?
В Python функции не копируют значения переменных, а запоминают ссылки на них.
Когда f() вызывается, она смотрит, чему равен i на момент вызова, а не на момент создания функции.
Переменная i в цикле после завершения становится равной 2 — и все три функции ссылаются на одну и ту же переменную i.
✅ Как это исправить?
Нужно «захватить» текущее значение i в локальной области видимости через аргумент по умолчанию:
🧠 Чему это учит:
Как работают замыкания и области видимости в Python.
Почему важно понимать, когда значения «захватываются», а когда — «ссылаются».
funcs = []
for i in range(3):
def f():
return i
funcs.append(f)
results = [func() for func in funcs]
print(results)
❓ Что будет выведено?
Многие ожидают:
[0, 1, 2]
Но Python выведет:
[2, 2, 2]
🧠 Почему так?
В Python функции не копируют значения переменных, а запоминают ссылки на них.
Когда f() вызывается, она смотрит, чему равен i на момент вызова, а не на момент создания функции.
Переменная i в цикле после завершения становится равной 2 — и все три функции ссылаются на одну и ту же переменную i.
✅ Как это исправить?
Нужно «захватить» текущее значение i в локальной области видимости через аргумент по умолчанию:
funcs = []
for i in range(3):
def f(i=i):
return i
funcs.append(f)
results = [func() for func in funcs]
print(results) # [0, 1, 2]
🧠 Чему это учит:
Как работают замыкания и области видимости в Python.
Почему важно понимать, когда значения «захватываются», а когда — «ссылаются».
👍8❤3🥰1
Какое ключевое слово служит для объявления функции в Python?
a) func
b) function
c) async
d) def
Пройдите тест из 5 вопросов, чтобы проверить свои знания в Python 💪
a) func
b) function
c) async
d) def
Пройдите тест из 5 вопросов, чтобы проверить свои знания в Python 💪
❤6😁6
⚡️ Прокачивайся через практику: лучшие ресурсы для пет-проектов
Хочешь расти как разработчик — пиши код, а не только читай!
Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи:
App Ideas
Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки.
👉 github.com/florinpop17/app-ideas
Build Your Own X
Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках.
👉 github.com/codecrafters-io/build-your-own-x
Project-Based Learning
Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков.
👉 github.com/practical-tutorials/project-based-learning
Frontend Mentor
Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио.
👉 frontendmentor.io
Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.
Хочешь расти как разработчик — пиши код, а не только читай!
Вот 4 крутых ресурса, где ты будешь учиться через реальные задачи:
App Ideas
Список проектов от джуна до про: калькуляторы, трекеры, приложения. Есть примеры и полезные ссылки.
👉 github.com/florinpop17/app-ideas
Build Your Own X
Хочешь создать свой Git, Redis, Docker или даже ОС? Тут есть всё: гайды, туториалы и код на разных языках.
👉 github.com/codecrafters-io/build-your-own-x
Project-Based Learning
Обучение в формате "берёшь проект — делаешь". Примеры с пошаговыми инструкциями для разных языков.
👉 github.com/practical-tutorials/project-based-learning
Frontend Mentor
Получаешь макет — верстаешь сам. Отлично тренирует HTML/CSS/JS. Идеально для портфолио.
👉 frontendmentor.io
Пиши код, а не резюме. Эти ресурсы реально двигают вперёд.
❤7🔥5👍3🥰2
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot -
📕Ит-книги: https://yangx.top/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Devops: t.me/DevOPSitsec
Базы данных: t.me/sqlhub
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://yangx.top/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://yangx.top/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://yangx.top/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://yangx.top/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2
🐍 Задача: Реализация декоратора `@smart_cache` с интеллектуальным кэшированием
📌 Описание
Реализуйте декоратор
1. Интеллектуальная очистка кэша — автоматически удаляет старые записи при превышении лимита
2. Поддержка разных стратегий вытеснения — LRU, LFU, FIFO
3. Таймаут кэша — автоматическое удаление записей по времени
4. Метрики использования — сбор статистики по попаданиям/промахам
5. Потокобезопасность — корректная работа в многопоточной среде
6. Поддержка методов классов — корректная работа с
🧩 Пример использования
🛠 Требования к реализации
- Используйте только стандартную библиотеку Python
- Поддержка Python 3.7+
- Все стратегии вытеснения должны быть реализованы (LRU, LFU, FIFO)
- TTL должен работать как для отдельных записей, так и глобально
- Статистика должна включать: hits, misses, evictions, current_size
- Декоратор должен корректно работать с kwargs, *args
- Потокобезопасность через threading.Lock или аналоги
🧪 Бонусное задание
Реализуйте методы:
- cache_info() — подробная информация о текущем состоянии кэша
- cache_warmup(**kwargs) — предварительное заполнение кэша
- cache_persist(filename) — сохранение кэша в файл
- cache_load(filename) — загрузка кэша из файла
@python_job_interview
📌 Описание
Реализуйте декоратор
@smart_cache
, который кэширует результаты функции с учетом следующих требований:1. Интеллектуальная очистка кэша — автоматически удаляет старые записи при превышении лимита
2. Поддержка разных стратегий вытеснения — LRU, LFU, FIFO
3. Таймаут кэша — автоматическое удаление записей по времени
4. Метрики использования — сбор статистики по попаданиям/промахам
5. Потокобезопасность — корректная работа в многопоточной среде
6. Поддержка методов классов — корректная работа с
self
и cls
🧩 Пример использования
import time
from threading import Thread
@smart_cache(maxsize=100, strategy='LRU', ttl=300, collect_stats=True)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
class MathUtils:
@smart_cache(maxsize=50, strategy='LFU', ttl=600)
def expensive_calc(self, x, y):
time.sleep(0.1) # Имитация тяжелых вычислений
return x ** y + y ** x
# Использование
print(fibonacci(10)) # Вычисление
print(fibonacci(10)) # Из кэша
# Получение статистики
stats = fibonacci.cache_stats()
print(f"Cache hits: {stats['hits']}, misses: {stats['misses']}")
# Принудительная очистка
fibonacci.cache_clear()
# Многопоточное использование
def worker():
for i in range(5):
fibonacci(i)
threads = [Thread(target=worker) for _ in range(3)]
for t in threads:
t.start()
for t in threads:
t.join()
🛠 Требования к реализации
- Используйте только стандартную библиотеку Python
- Поддержка Python 3.7+
- Все стратегии вытеснения должны быть реализованы (LRU, LFU, FIFO)
- TTL должен работать как для отдельных записей, так и глобально
- Статистика должна включать: hits, misses, evictions, current_size
- Декоратор должен корректно работать с kwargs, *args
- Потокобезопасность через threading.Lock или аналоги
🧪 Бонусное задание
Реализуйте методы:
- cache_info() — подробная информация о текущем состоянии кэша
- cache_warmup(**kwargs) — предварительное заполнение кэша
- cache_persist(filename) — сохранение кэша в файл
- cache_load(filename) — загрузка кэша из файла
@python_job_interview
❤9👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Печатай переменные с их именами без повторов — с помощью f‑строк и := (walrus operator)
Вместо этого:
Пиши так:
🔥 А ещё лучше — используем
✅ Это одновременно сохранит
Вместо этого:
print(f"x = {x}, y = {y}, z = {z}")
Пиши так:
print(f"{x=}, {y=}, {z=}")
x=42, y='hello', z=[1, 2, 3]
🔥 А ещё лучше — используем
:=
(оператор моржа) для печати и присваивания одновременно:
print(f"{(n := len(mylist))=}")
✅ Это одновременно сохранит
len(mylist)
в n
и выведет его:
n=5
👍12❤3🔥2
📖 Типовая задача на собеседование Python
Условие задачи:
Напишите функцию, которая возвращает n-ое число Фибоначчи. Числа Фибоначчи определяются следующим образом:
— F(0) = 0
— F(1) = 1
— F(n) = F(n-1) + F(n-2) для n > 1
Примеры:
— Для n = 10 ожидается результат 55
— Для n = 15 — 610
Решение:
Пояснение:
1️⃣ При n = 0 и n = 1 функция возвращает предопределённые значения 0 и 1 соответственно.
2️⃣ Для n > 1 используются две переменные a и b, которые хранят предыдущие числа Фибоначчи. На каждом шаге цикла они обновляются: a принимает значение b; b — сумму a + b. После завершения цикла возвращается b, содержащее искомое число.
3️⃣ Время работы: O(n), так как требуется n итераций. Память: O(1), потому что используются только две переменные.
Пишите свои варианты решения в комментариях 👇
@python_job_interview
Условие задачи:
Напишите функцию, которая возвращает n-ое число Фибоначчи. Числа Фибоначчи определяются следующим образом:
— F(0) = 0
— F(1) = 1
— F(n) = F(n-1) + F(n-2) для n > 1
Примеры:
— Для n = 10 ожидается результат 55
— Для n = 15 — 610
Решение:
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
# Тестирование
print(fibonacci(10)) # 55
print(fibonacci(15)) # 610
Пояснение:
2️⃣ Для n > 1 используются две переменные a и b, которые хранят предыдущие числа Фибоначчи. На каждом шаге цикла они обновляются: a принимает значение b; b — сумму a + b. После завершения цикла возвращается b, содержащее искомое число.
3️⃣ Время работы: O(n), так как требуется n итераций. Память: O(1), потому что используются только две переменные.
Пишите свои варианты решения в комментариях 👇
@python_job_interview
👍5❤3🔥2
Хочешь понять, какие инструменты реально нужны Python-разработчику? Лови универсальную шпаргалку по лучшим библиотекам и технологиям — от новичка до синьора.
📦 Управление пакетами
→
pip
, conda
, poetry
— устанавливай, обновляй, фиксируй зависимости без боли.🧠 AI & ML
→
TensorFlow
, PyTorch
, Scikit-learn
— машинное обучение и нейросети. →
NumPy
, Pandas
, Matplotlib
, Seaborn
— анализ и визуализация данных.⚙️ Автоматизация и AI-агенты
→
LangGraph
, CrewAI
— создание LLM-агентов и пайплайнов. →
Airflow
, Celery
, Luigi
— ETL, очереди задач и планировщики.🌐 Веб-фреймворки
→
Django
, Flask
, FastAPI
— под любой масштаб. →
Tornado
, Pyramid
— для сложных архитектур.📊 Базы данных
→
PostgreSQL
, MySQL
, MongoDB
, SQLite
, Redis
, Cassandra
— SQL и NoSQL.✍️ Тестирование
→
Pytest
, Unittest
, nose2
— пишем надёжный и протестированный код.🔍 Web Scraping
→
BeautifulSoup
, Scrapy
, Selenium
, Playwright
— вытаскиваем данные даже с "закрытых" сайтов.🤓 DevOps и деплой
→
Docker
, Kubernetes
, AWS
, Heroku
, GCP
, Azure
— всё для продакшн-сборок.⌨️ IDE и редакторы
→
VS Code
, PyCharm
, Jupyter
, Spyder
— выбирай, где удобнее кодить.💡 Git и CI/CD
→
Git
, GitHub
, GitLab
, Bitbucket
— контроль версий и автоматизация сборок.🔥 Это не просто список. Это твой ориентир в мире Python. Сохрани, чтобы не искать дважды.
#python #разработка #шпаргалка #devtools #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2⚡1🐳1
Как сказать рутине STOP?
Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈
Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам.
На курсе вы научитесь:
🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.
Есть бесплатный демодоступ.
Старт 11 августа. Занять своё место на курсе — по ссылке.
Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈
Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам.
На курсе вы научитесь:
🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.
Есть бесплатный демодоступ.
Старт 11 августа. Занять своё место на курсе — по ссылке.
❤3
🔥 Полный гайд по подготовке к собеседованиям по программированию в 2025 году
Подготовка к собеседованиям по программированию постоянно развивается. Компании используют всё более сложные задачи, включающие алгоритмы, структуры данных, проектирование систем и вопросы о поведении кандидата.
В 2025 году собеседования остаются серьёзным испытанием: от вас ждут не только знания, но и умение объяснять свои мысли, работать с ограниченным временем и применять системный подход.
В этом руководстве мы собрали лучшие практики подготовки, советы по решению сложных задач и примеры вопросов, чтобы вы смогли уверенно подойти к собеседованию.
🔜 Читать подробнее
Подготовка к собеседованиям по программированию постоянно развивается. Компании используют всё более сложные задачи, включающие алгоритмы, структуры данных, проектирование систем и вопросы о поведении кандидата.
В 2025 году собеседования остаются серьёзным испытанием: от вас ждут не только знания, но и умение объяснять свои мысли, работать с ограниченным временем и применять системный подход.
В этом руководстве мы собрали лучшие практики подготовки, советы по решению сложных задач и примеры вопросов, чтобы вы смогли уверенно подойти к собеседованию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 УСКОРЕНИЕ КОДА ЗА СЧЁТ ЛОКАЛЬНЫХ ПЕРЕМЕННЫХ
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Прирост в скорости особенно заметен при больших объёмах данных```
💡 Используй локальные переменные внутри циклов — это может ускорить выполнение на 20–30%, особенно в критичных по времени участках.
Почему это работает?
В Python доступ к локальной переменной быстрее, чем к глобальной или объектной, потому что локальные хранятся в массиве, а не в словаре.
Пример:
# Медленно: обращение к свойствам объекта в цикле
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
total = 0
for item in self.data:
total += item * item
return total
# Быстрее: кэшируем ссылку на data как локальную переменную
class Processor:
def __init__(self, data):
self.data = data
def compute(self):
data = self.data # локальная переменная
total = 0
for item in data:
total += item * item
return total
# Прирост в скорости особенно заметен при больших объёмах данных```
👍12🤯7❤5🔥2