TGViewer
Python Community Python Community @python_community_ru · 11.6K subscribers
Post #2789 905
🔥 Подборка небанальных Python-трюков, которые реально упрощают жизнь разработчику

🌀 1. functools.cached_property — ленивое свойство с кэшем
Позволяет вычислить значение один раз и потом возвращать готовый результат.


from functools import cached_property
import time

class DataFetcher:
@cached_property
def heavy_data(self):
print("⏳ Запрос к API...")
time.sleep(2)
return {"status": "ok", "data": [1, 2, 3]}

obj = DataFetcher()
print(obj.heavy_data) # первый вызов → считает
print(obj.heavy_data) # второй вызов → из кэша


🪄 2. contextlib.suppress — игнорируем ошибки красиво

Вместо громоздкого try/except:


import os
from contextlib import suppress

with suppress(FileNotFoundError):
os.remove("tmp.txt")


👉 Идеально для операций, где ошибка — нормальная ситуация (удаление файла, закрытие сокета и т.п.).

🧩 3. Свой контекстный менеджер через enter / exit

Можно сделать объекты, которые сами открываются и закрываются как файлы.


class DemoResource:
def __enter__(self):
print("🔓 Ресурс открыт")
return self

def __exit__(self, exc_type, exc_value, traceback):
print("🔒 Ресурс закрыт")
if exc_type:
print(f"⚠️ Ошибка: {exc_value}")
return True # подавить исключение

with DemoResource() as res:
print("⚡ Работаем...")
raise ValueError("Что-то пошло не так!")


👉 Отлично для работы с ресурсами: подключение к БД, временные настройки, логирование.



@Python_Community_ru
More from @python_community_ru
  1. Oct 2, 2026webAI выпустила TwIL-LM3-Pro - компактную модель на 3,66B параметров специально для формал…
  2. Oct 1, 2026🔥 Бесплатный курс по Claude Code на русском: от установки до команды агентов На GitHub вы…
  3. Sep 30, 2026🖥 Cayu - open-source runtime для долгоживущих ИИ-агентов на Python Проект закрывает инфра…
  4. Sep 29, 2026🖥 Примеры кода на Python 2026: лучшие практики, разбор и задачи с решениями Python пример…
  5. Sep 28, 2026🚀 Jina-OCR-v1 разбирает целые страницы в Markdown со скоростью 2,57 страницы/с Jina AI пр…
  6. Sep 27, 2026🐍 В Python 3.15 решили мягко «похоронить» re.match() re.match() никуда не удаляют, но для…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →