About Python [ru]
Open in Telegram
Пишем на Python, создаём нейросети и ИИ-агентов. Алгоритмы, задачи и вайбкодинг. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin
Show more6 482
Subscribers
-524 hours
+17 days
-5030 days
Posts Archive
6 482
🛠 Инструменты должны служить тебе, а не наоборот
Новая библиотека, модный фреймворк или плагин могут выглядеть как решение всех проблем.
👉 Совет: если инструмент требует больше усилий на поддержку, чем экономит времени — смело отказывайся. Хороший инструмент упрощает работу, а не создаёт дополнительную.
6 482
👩💻 Курс Django: Сложная форма с кастомной капчей
Делаем анкету с различными виджетами, защищаем форму с помощью капчи, автоматически отправляем данные и вложенные файлы на email.
Читать...
6 482
👩💻 Как сделать блог разработчика на GitHub Pages с помощью Django
Расскажем, как превратить Django в генератор статических сайтов и сделать полноценный блог с пагинацией, сортировкой записей по тегам, подсветкой синтаксиса кода, контактной формой, подпиской на рассылку и поддержкой 20 различных тем оформления.
Читать...
6 482
👩💻 Дуалистичная типовая система JavaScript VS Единая объектная система Python. Краткий обзор
Сегодня поговорим о объектах, объектной архитектуре и способах взаимодействия с ними на примере языков программирования Python и JavaScript. Получилось небольшое исследование, противопоставляющее прототипирование и ООП.
Читать...
6 482
⚙️ Как работает декоратор
@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 полезно для создания аккуратного интерфейса доступа к данным с их защитой и валидацией, соблюдая при этом принципы инкапсуляции.🖥 Подробнее тут
6 482
👩💻 Как простая задачка поставила в тупик программистов (и как они из него выбрались)
В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.
Читать...
6 482
👩💻 Деплой без стресса: автоматизируем процесс для Telegram-ботов
В статье рассказывается, как настроить автоматический деплой Telegram-бота на сервер с использованием GitHub Actions. Это поможет ускорить обновление кода и минимизировать ошибки при ручной загрузке.
Читать...
6 482
👩💻 Как работает менеджер контекста (context manager) в Python?
В Python менеджеры контекста используются для управления ресурсами, такими как файлы или сетевые соединения, автоматически освобождая их после использования. Они реализуются с помощью методов
__enter__ и __exit__.
➡️ В этом примере показано, как использовать менеджер контекста для работы с файлами:
with open('file.txt', 'r') as file:
content = file.read()
Здесь файл автоматически закроется после завершения блока with, даже если внутри него возникнет ошибка.
🗣️ Менеджеры контекста полезны для автоматического управления ресурсами и обработки исключений.🖥 Подробнее тут
6 482
Онлайн-магистратура с IT специальностями от Яндекса
Совместно с ИТМО, МИФИ, МФТИ.
Онлайн-магистратура с актуальными программами и гибким графиком обучения.
Получите высокооплачиваемую IT профессию, официальный диплом и практические знания.
Господдержка оплаты. Совмещение с работой!
Подать заявку
#реклама 16+
practicum.yandex.ru
О рекламодателе
6 482
🔝 Самые интересные статьи за последние дни:
• SOLID на котиках
• Mount — ещё один способ уменьшения размера Docker-образа
• Pydantic 2: Полное руководство для Python-разработчиков — от основ до продвинутых техник
• PinkHash: Незабываемые розовые хеши
• Архитектура и реализация виртуальной машины CPython
6 482
Запустите рекламу в телеграм-каналах с Яндекс Директом
Перфоманс-реклама теперь в телеграм-каналах ⚡
Яндекс Директ знает, как привлечь целевую аудиторию 💰👌
Попробовать
6 482
6 482
E-CUP возвращается. Реальные данные. Масштабные проекты. Большие призы
Решайте ML-задачи в стиле Ozon Tech. Девять победителей разделят призовой фонд соревнования — 7 200 000 рублей 🔥
Тест-драйв работы в e-com бигтехе стартует здесь.
🗓 Регистрация: https://cnrlink.com/ecup25aboutpy
💻 Формат участия: онлайн
👥 Команда: от 1 до 5 человек
🎯 Для кого: Data Scientists, ML-специалисты, аналитики данных, дата-инженеры, специалисты Big Data и разработчики, которые интересуются ML/DS.
Что вас ждёт:
🔹 Работа над проектом для миллионов пользователей на основе данных от ведущего e-com в России.
🔹 Обмен опытом с экспертами Ozon Tech.
🔹 Эксклюзивный мерч для победителей и подарки для самых активных участников.
🔹 Питчинг — 13 сентября на конференции E-CODE. Ozon Tech предоставит финалистам билеты и оплатит поездку.
Три трека E-CUP:
1️⃣ Рекомендации: предсказание следующей покупки пользователя
2️⃣ Логистика: автопланирование курьеров
3️⃣ Контроль качества: автоматическое выявление поддельных товаров
Регистрация на платформе Codenrock: https://cnrlink.com/ecup25aboutpy
6 482
6 482
Регистрируйтесь на Yandex Ecom Open Air 8 августа
Море инсайтов для бизнеса, музыкальный open-air, лекции и нетворкинг.
Участие бесплатно!
Зарегистрироваться
#реклама 18+
ecomfest.ru
О рекламодателе
6 482
6 482
👩💻 Задачка по Python
Напишите функцию, которая принимает список чисел и возвращает второе наибольшее число. Если в списке меньше двух уникальных чисел, функция должна вернуть
None.
➡️ Пример:
[10, 20, 4, 45, 99] 45 [5, 5, 5] NoneРешение задачи ⬇️
def find_second_largest(numbers): # Удаляем дубликаты и сортируем список в порядке убывания unique_numbers = sorted(set(numbers), reverse=True) # Если уникальных чисел меньше двух, возвращаем None return unique_numbers[1] if len(unique_numbers) >= 2 else None # Пример использования: print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45 print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
6 482
6 482
6 482
