Модуль часто недооценивают, но он открывает огромные возможности для работы с потоками данных, комбинаторикой и сложными структурами. В этой шпаргалке — 8 методов с лаконичными примерами и пояснениями для понимания.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍11🔥7🤝6
This media is not supported in your browser
VIEW IN TELEGRAM
Это интерактивный курс от Google. Уроки, практические задания и обучающие материалы, которые помогают освоить основы языка и развивать навыки программирования. Всё структурировано и понятно — можно идти от простого к сложному, параллельно закрепляя знания на практике.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍11🔥6
Кэшируем результаты функций с lru_cache!
Декоратор
Для начала импортируем декоратор и настроим кэш на 256 элементов:
Теперь вызовем функцию несколько раз и посмотрим, что произойдёт:
Выведем статистику кэша, чтобы проверить работу:
Результат:
🔥 Это ускоряет повторные вызовы, экономит ресурсы и делает функции эффективнее без изменения их логики.
👉 Python Ready | #практика
Декоратор
lru_cache
из модуля functools
ускоряет выполнение функций, сохраняя результаты прошлых вызовов. Повторные вычисления заменяются быстрым обращением к кэшу.Для начала импортируем декоратор и настроим кэш на 256 элементов:
from functools import lru_cache
@lru_cache(maxsize=256)
def fetch_user_data(user_id):
print(f"Fetching data for {user_id}")
return {"id": user_id, "name": f"User-{user_id}"}
Теперь вызовем функцию несколько раз и посмотрим, что произойдёт:
# первый вызов — выполняется функция
print(fetch_user_data(42))
# второй вызов — берётся из кэша
print(fetch_user_data(42))
Выведем статистику кэша, чтобы проверить работу:
print(fetch_user_data.cache_info())
Результат:
Fetching data for 42
{'id': 42, 'name': 'User-42'}
{'id': 42, 'name': 'User-42'}
CacheInfo(hits=1, misses=1, maxsize=256, currsize=1)
🔥 Это ускоряет повторные вызовы, экономит ресурсы и делает функции эффективнее без изменения их логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍9❤7🤝1
Разберёмся, как работают декораторы и зачем они нужны. Узнаем, как оборачивать функции в дополнительную логику, проверять доступ и расширять поведение без изменения исходного кода.
Сегодня в посте:
• Создаём свой декоратор.
• Передаём аргументы в обёрнутые функции.
• Добавляем логику перед и после вызова.
• Получаем итоговый читаемый и удобный код.
Подойдёт для логирования, валидации, кеширования и написания чистых решений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤25👍10🔥8🤝3
Следим за курсом USD/RUB!
Научим Python получать курс валют и проверять, если он выше порога.
Подключим библиотеку
Создадим функцию для получения курса USD к RUB через
Теперь — главный цикл слежения. Укажем порог и будем проверять курс каждую минуту:
🔥 В следующей части добавим уведомления в Telegram, чтобы скрипт сразу присылал сообщение, когда курс превышает порог!
👉 Python Ready | #практика
Научим Python получать курс валют и проверять, если он выше порога.
Подключим библиотеку
requests
и импортируем time
:import requests
import time
Создадим функцию для получения курса USD к RUB через
exchangerate.host
:def get_usd_rate():
url = "https://api.exchangerate.host/latest?base=USD&symbols=RUB"
r = requests.get(url)
return r.json()["rates"]["RUB"]
Теперь — главный цикл слежения. Укажем порог и будем проверять курс каждую минуту:
threshold = 100 # укажи свой порог
while True:
rate = get_usd_rate()
print(f"USD/RUB: {rate}")
if rate > threshold:
print("🚀 Курс выше порога!")
break
time.sleep(60)
🔥 В следующей части добавим уведомления в Telegram, чтобы скрипт сразу присылал сообщение, когда курс превышает порог!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33❤10👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Процесс включает планирование, разработку, сборку, тестирование и релиз. Всё автоматизировано — от коммита до прода через Jenkins, Docker и мониторинг.
На картинке — схема CI/CD-пайплайна: от Jira и GitHub до UAT и прода.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤8🤝6👎1🔥1
Эти приёмы позволяют управлять созданием классов, наследованием, атрибутами и памятью объектов на низком уровне. В шпаргалке собраны 8 методов с короткими примерами, которые помогут глубже контролировать поведение классов и экземпляров.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤8🤝7🔥6