Разберёмся, как работают декораторы и зачем они нужны. Узнаем, как оборачивать функции в дополнительную логику, проверять доступ и расширять поведение без изменения исходного кода.
Сегодня в посте:
• Создаём свой декоратор.
• Передаём аргументы в обёрнутые функции.
• Добавляем логику перед и после вызова.
• Получаем итоговый читаемый и удобный код.
Подойдёт для логирования, валидации, кеширования и написания чистых решений.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23👍10🔥8🤝2
Следим за курсом 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
👍19❤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
👍23❤8🤝6🔥4
Берём временной ряд и с помощью скользящего среднего находим аномалии - значения, которые сильно выбиваются из общей динамики.
В этой задаче:
• Считаем скользящее среднее для сглаживания данных.
• Определяем порог отклонения для поиска выбросов.
• Фиксируем индексы и значения аномалий в отдельный список.
Если точка выбивается из ряда — это сигнал к проверке: может быть перегрузка сервера, резкий скачок цены или неисправность датчика.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍8🔥8🤝2
Следим за курсом USD/RUB — часть два: уведомления в Telegram!
Теперь скрипт будет оповещать в Telegram, если курс превысит порог.
Функция отправки сообщения в Telegram с обработкой ошибок:
Главный цикл слежения с уведомлением:
🔥 Легко расширить под любые валюты, добавить email или push-уведомления, изменить интервал проверки или порог динамически.
👉 Python Ready | #практика
Теперь скрипт будет оповещать в Telegram, если курс превысит порог.
import urllib.parse
TOKEN = "ВАШ_ТОКЕН"
CHAT_ID = "ВАШ_ИД"
Функция отправки сообщения в Telegram с обработкой ошибок:
def send_telegram(msg):
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
data = urllib.parse.urlencode({"chat_id": CHAT_ID, "text": msg}).encode()
try:
with urllib.request.urlopen(url, data=data) as response:
result = json.loads(response.read())
if not result["ok"]:
print("Ошибка при отправке:", result)
except Exception as e:
print("Ошибка отправки в Telegram:", e)
Главный цикл слежения с уведомлением:
while True:
try:
rate = get_usd_rate()
print(f"USD/RUB: {rate}")
if rate > threshold:
msg = f"🚀 USD/RUB {rate} превысил порог!"
print(msg)
send_telegram(msg)
break
except Exception as e:
print("Ошибка при получении курса:", e)
time.sleep(60)
🔥 Легко расширить под любые валюты, добавить email или push-уведомления, изменить интервал проверки или порог динамически.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28🔥13👍7
Сегодня создадим простую модель финансовой системы, где клиенты могут иметь несколько счетов и выполнять переводы, депозиты и снятия.
В этом посте:
• Создаем классы клиентов и счетов.
• Реализуем депозиты и переводы через наследование.
• Проверяем баланс и блокируем подозрительные транзакции.
• Масштабируем систему для нескольких пользователей.
Идеально подходит для обучения ООП, создания прототипов банковских сервисов и тестирования алгоритмов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝27🔥23❤9👍7👎1