fa
Feedback
About Python [ru]

About Python [ru]

رفتن به کانال در Telegram

Пишем на Python, создаём нейросети и ИИ-агентов. Алгоритмы, задачи и вайбкодинг. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin

نمایش بیشتر
6 522
مشترکین
-524 ساعت
-167 روز
+16630 روز
آرشیو پست ها
👩‍💻 Как работает __name__ == "__main__" в Python? Конструкция if __name__ == "__main__" определяет, выполняется ли скрипт как основная программа или импортируется в качестве модуля. Это позволяет запускать код только при непосредственном запуске скрипта, исключая его выполнение при импорте. ➡️ Пример:
def greet():
    print("Hello from greet!")

if __name__ == "__main__":
    greet()  # Этот вызов выполнится только при запуске скрипта напрямую
🗣 В этом примере greet() будет вызвана, если файл запускается напрямую. Если скрипт импортируется как модуль, greet() не вызовется, сохраняя модульную структуру кода.
🖥 Подробнее тут

👩‍💻 ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы. Читать...

Привет. Вот тебе самые топовые каналы по IT! ⚙️ Free Znanija (IT) — Самая огромная коллекция платных курсов, которые можно скачать бесплатно; 👩‍💻 IT Books — Самая огромная библиотека книг; 💻 Hacking & InfoSec Base — Крутой блог белого хакера; 🛡 CyberGuard — Всё про ИБ; 🤔 ИБ Вакансии — Всё, чтобы найти работу в ИБ; 👩‍💻 linux administration — Всё про Линукс; 👩‍💻 Программистика — Python, python и ещё раз python; 👩‍💻 GameDev Base — Всё про GameDev; 😆 //code — Самые топовые мемы по IT: Подпишись, чтобы не потерять!

👩‍💻 Уделите внимание токенизаторам — и вот почему Статья рассматривает особенности разработки ИИ-приложений с использованием RAG, особенно для обработки данных интернет-магазинов. Анализируется отличие статистического подхода от традиционного программирования и его влияние на разработку с LLM. Читать...

👩‍💻 Задачка по Python Создайте Python-скрипт, который проверяет доступность указанного веб-сервера и отправляет уведомление на почту, если сервер недоступен. Скрипт должен выполнять проверку каждые 5 минут и отправлять уведомление только один раз, если сервер падает, а затем повторно — только когда сервер снова станет доступен. ➡️ Пример:python monitor.py https://example.com — проверяет доступность сервера по адресу https://example.com, отправляет уведомление на почту, если сервер перестаёт отвечать, и повторно уведомляет при восстановлении работы. Решение задачи ⬇️
import requests import time import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import sys # Настройки для отправки уведомлений SMTP_SERVER = 'smtp.example.com' SMTP_PORT = 587 EMAIL = 'your-email@example.com' PASSWORD = 'your-password' TO_EMAIL = 'recipient@example.com' # Функция для отправки уведомления def send_notification(subject, message): msg = MIMEMultipart() msg['From'] = EMAIL msg['To'] = TO_EMAIL msg['Subject'] = subject msg.attach(MIMEText(message, 'plain')) with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server: server.starttls() server.login(EMAIL, PASSWORD) server.sendmail(EMAIL, TO_EMAIL, msg.as_string()) print(f"Уведомление отправлено: {subject}") # Функция для проверки доступности сервера def check_server(url): try: response = requests.get(url, timeout=5) return response.status_code == 200 except requests.RequestException: return False # Основная функция мониторинга def monitor(url): server_is_down = False while True: is_up = check_server(url) if is_up and server_is_down: send_notification("Сервер восстановлен", f"Сервер {url} снова доступен.") server_is_down = False elif not is_up and not server_is_down: send_notification("Сервер недоступен", f"Сервер {url} перестал отвечать.") server_is_down = True time.sleep(300) # Проверка каждые 5 минут if __name__ == "__main__": if len(sys.argv) < 2: print("Укажите URL сервера для мониторинга.") sys.exit(1) url = sys.argv[1] monitor(url)

👩‍💻 Курс Django: Сложная форма с кастомной капчей Делаем анкету с различными виджетами, защищаем форму с помощью капчи, автоматически отправляем данные и вложенные файлы на email. Читать...

⚙️ Как работает декоратор @property в Python и зачем он нужен? Декоратор @property в Python превращает метод класса в атрибут, позволяя работать с ним, как с обычным свойством. Это упрощает доступ к приватным данным и добавляет контроль за их валидацией и изменением. С помощью @property можно создавать интерфейс для работы с данными объекта, защищая их от некорректных значений и обеспечивая читаемость кода. ➡️ В этом примере декоратор @property используется для создания свойства age, которое проверяет корректность введенного значения:
class Person:
    def __init__(self, age):
        self._age = age
    
    @property
    def age(self):
        return self._age
    
    @age.setter
    def age(self, value):
        if value < 0:
            raise ValueError("Возраст не может быть отрицательным.")
        self._age = value

p = Person(30)
p.age = 35        # Работает нормально
print(p.age)      # 35
p.age = -5        # ValueError: Возраст не может быть отрицательным.
🗣 Использование @property полезно для создания аккуратного интерфейса доступа к данным с их защитой и валидацией, соблюдая при этом принципы инкапсуляции.
🖥 Подробнее тут

👩‍💻 Как сделать блог разработчика на GitHub Pages с помощью Django Расскажем, как превратить Django в генератор статических сайтов и сделать полноценный блог с пагинацией, сортировкой записей по тегам, подсветкой синтаксиса кода, контактной формой, подпиской на рассылку и поддержкой 20 различных тем оформления. Читать...

👩‍💻 Дуалистичная типовая система JavaScript VS Единая объектная система Python. Краткий обзор Сегодня поговорим о объектах, объектной архитектуре и способах взаимодействия с ними на примере языков программирования Python и JavaScript. Получилось небольшое исследование, противопоставляющее прототипирование и ООП. Читать...

👩‍💻 Задачка по Python Создайте Python-скрипт, который кэширует данные с внешнего API, сохраняя их на определенное время. Когда срок кэша истекает, данные должны автоматически обновляться при следующем запросе. ➡️ Пример:python app.py fetch — получает данные из кэша, а если кэш истек, то заново запрашивает данные и обновляет кэш. Решение задачи ⬇️
import time import json import requests from pathlib import Path CACHE_FILE = Path("cache.json") CACHE_TTL = 60 # время жизни кэша в секундах def update_cache(): data = requests.get("https://api.example.com/data").json() cache_data = {"data": data, "timestamp": time.time()} with open(CACHE_FILE, "w") as file: json.dump(cache_data, file) return data def fetch_data(): if CACHE_FILE.exists(): with open(CACHE_FILE, "r") as file: cache = json.load(file) if time.time() - cache["timestamp"] < CACHE_TTL: print("Данные из кэша:", cache["data"]) return cache["data"] print("Обновление кэша...") return update_cache() # Запрос кэшированных данных fetch_data()

👩‍💻 Как простая задачка поставила в тупик программистов (и как они из него выбрались) В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе. Читать...

👩‍💻 Деплой без стресса: автоматизируем процесс для Telegram-ботов В статье рассказывается, как настроить автоматический деплой Telegram-бота на сервер с использованием GitHub Actions. Это поможет ускорить обновление кода и минимизировать ошибки при ручной загрузке. Читать...

👩‍💻 Как работает менеджер контекста (context manager) в Python? В Python менеджеры контекста используются для управления ресурсами, такими как файлы или сетевые соединения, автоматически освобождая их после использования. Они реализуются с помощью методов __enter__ и __exit__. ➡️ В этом примере показано, как использовать менеджер контекста для работы с файлами:
with open('file.txt', 'r') as file:
    content = file.read()
Здесь файл автоматически закроется после завершения блока with, даже если внутри него возникнет ошибка.
🗣️ Менеджеры контекста полезны для автоматического управления ресурсами и обработки исключений.
🖥 Подробнее тут

​​👨‍💻Использование Annotated в Python В данной статье, я расскажу о примерах использования Annotated из модуля typing. Читать...

​​🤖Кратко: как новичку создать чат-бот с Gradio и ChatGPT? В этой статье вы узнаете, как создать функцию predict для обрабатывания историй сообщений, и форматировать историю сообщений для передачи в GPT. Читать...

​​🚀История оптимизации Python сервиса: Маленький шаг для человека, гигантский скачок для сервиса В этой статье расскажем о небольших по сложности, но больших по значению оптимизациях в коде, которые мы сделали, чтобы разогнать нашу платформу до скорости ракеты. Читать...

👩‍💻 Фильтрация списка словарей Напишите функцию, которая принимает список словарей и фильтрует его, возвращая только те словари, в которых значение указанного ключа превышает заданное значение. Пример:
data = [
    {"name": "Alice", "age": 25},
    {"name": "Bob", "age": 30},
    {"name": "Charlie", "age": 20},
    {"name": "Diana", "age": 35}
]

result = filter_by_key(data, "age", 25)
print(result)
# Ожидаемый результат:
# [
#     {"name": "Bob", "age": 30},
#     {"name": "Diana", "age": 35}
# ]
Решение задачи🔽
def filter_by_key(data, key, threshold): return [item for item in data if item.get(key, 0) > threshold] # Пример использования: data = [ {"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Charlie", "age": 20}, {"name": "Diana", "age": 35} ] result = filter_by_key(data, "age", 25) print(result)

​​😶‍🌫️SARIMAX vs Экспоненциальное сглаживание: Когда простота побеждает В этой статье я расскажу о серии издевательств над временными рядами, SARIMAX и экспоненциальным сглаживанием. Читать...