Пожалуйста, перестань использовать Python как 15 лет назад. Лучше начни применять эти практики
Прожми лайк, если понравилось — 👍
👉 @PythonPortal
Прожми лайк, если понравилось — 👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124❤23🔥9💊4🏆1
Это гайд “Python Logging With Loguru” рассказывает о том, как упростить логирование в Python с помощью библиотеки
Примеры кода показаны для реальных задач, от простой отладки до продакшен-логирования.
Приятного изучения💪
👉 @PythonPortal
Loguru
— удобной и мощной альтернативы стандартному logging
Примеры кода показаны для реальных задач, от простой отладки до продакшен-логирования.
Приятного изучения
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8🔥3
Использование декоратора dataclass в Python
Декоратор
На фото приведены два примера. В первом мы используем декоратор
Во втором примере показано, как выглядел бы тот же код без использования декоратора
Ставь лайк если пост был полезным🪑
👉 @PythonPortal
Декоратор
dataclass
упрощает создание классов, которые в основном хранят данные. Он автоматически генерирует специальные методы, такие как __init__, __repr__
и другие. Это снижает многословность кода, сохраняя при этом его ясность и функциональность.На фото приведены два примера. В первом мы используем декоратор
dataclass
, поэтому явно не добавляем методы __init__, __repr__ и __eq__
. Они автоматически добавляются декоратором.Во втором примере показано, как выглядел бы тот же код без использования декоратора
dataclass
. Видно, что такой код гораздо длиннееСтавь лайк если пост был полезным
Please open Telegram to view this post
VIEW IN TELEGRAM
❤52👍34🔥2🏆2
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на отличную платформу для практики: Pybites Bites of Py
Это интерактивные мини-задачи (байты) по Python, которые ты решаешь прямо в браузере.
Твой код сразу тестируется
> Короткие и прикладные задачи
> Всё онлайн, ничего ставить не нужно
> Прокачка Python навыков и стандартной библиотеки
> Отлично подходит для новичков и опытных
Попробовать можно бесплатно:
-> https://pybitesplatform.com/bites/demo
👉 @PythonPortal
Это интерактивные мини-задачи (байты) по Python, которые ты решаешь прямо в браузере.
Твой код сразу тестируется
> Короткие и прикладные задачи
> Всё онлайн, ничего ставить не нужно
> Прокачка Python навыков и стандартной библиотеки
> Отлично подходит для новичков и опытных
Попробовать можно бесплатно:
-> https://pybitesplatform.com/bites/demo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤8🔥2
Совет по Python:
Чтобы посчитать количество вхождений элементов, используйте
Например у нас словарь, где ключ — это ID устройства, а значение — его производитель.
> Выполняем подсчёт:
Здесь берутся все значения из словаря (
> Выводим и получаем:
👉 @PythonPortal
Чтобы посчитать количество вхождений элементов, используйте
Counter
из модуля collections
Например у нас словарь, где ключ — это ID устройства, а значение — его производитель.
devices_vendors = {
'device001': 'Cisco',
'device002': 'Juniper',
'device003': 'Cisco',
'device004': 'Arista',
'device005': 'Cisco'
}
> Выполняем подсчёт:
vendor_counts = Counter(devices_vendors.values())
Здесь берутся все значения из словаря (
.values()
), т.е. список вендоров: ['Cisco', 'Juniper', 'Cisco', 'Arista', 'Cisco']
, и Counter считает, сколько раз каждый встретился.> Выводим и получаем:
Counter({'Cisco': 3, 'Juniper': 1, 'Arista': 1})
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54❤20🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Посмотри на это: MCP-сервер для управления Jupyter-ноутбуками через Claude
MCP-сервер — это "мост", который позволяет Claude напрямую управлять ноутбуком. Создавать ячейки, писать код, запускать его.
Ты можешь сказать Claude что-то вроде:
И он реально создаст такую ячейку в Jupyter и запустит её
Полностью open-source и бесплатен для использования😎
👉 @PythonPortal
MCP-сервер — это "мост", который позволяет Claude напрямую управлять ноутбуком. Создавать ячейки, писать код, запускать его.
Ты можешь сказать Claude что-то вроде:
«Создай ячейку с кодом, который загружает CSV-файл и строит график»
И он реально создаст такую ячейку в Jupyter и запустит её
Полностью open-source и бесплатен для использования
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍8
Нужно искать ключи в нескольких словарях с приоритетом?
Ручной способ поиска: сначала в
Работает, но нечитаемо и неудобно, особенно при большом количестве словарей.
Лучше используй
Создается объект ChainMap, который объединяет словари по приоритету:
Просто вызываешь
Даже если ключ есть в нескольких словарях, берётся первое вхождение по приоритету
👉 @PythonPortal
Ручной способ поиска: сначала в
group3
, если нет — в group2
, если и там нет — в group1
:age = group3.get(name, group2.get(name, group1.get(name)))
Работает, но нечитаемо и неудобно, особенно при большом количестве словарей.
Лучше используй
ChainMap
для чистой логики с подстановкой по умолчаниюm = ChainMap(group3, group2, group1)
age = m.get("ana")
Создается объект ChainMap, который объединяет словари по приоритету:
Просто вызываешь
m.get(key)
— он сам идет по цепочке, пока не найдет ключДаже если ключ есть в нескольких словарях, берётся первое вхождение по приоритету
Please open Telegram to view this post
VIEW IN TELEGRAM
👍48❤20🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Если ты каждый день используешь кучу AI-инструментов — вот штука, которая серьёзно упростит тебе жизнь.
Называется GlobalGPT
В одном месте ты получаешь доступ к: GPT-4.5, Claude 3.7, DeepSeek, MidJourney, Perplexity, Runway и другим.
Больше не нужно прыгать по вкладкам — всё в одной панели🪄
👉 @PythonPortal
Называется GlobalGPT
В одном месте ты получаешь доступ к: GPT-4.5, Claude 3.7, DeepSeek, MidJourney, Perplexity, Runway и другим.
Больше не нужно прыгать по вкладкам — всё в одной панели
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤10👍3🌭2🤝2💊2
Майк Тайсон однажды сказал:
В программировании (и особенно при изучении Python) это можно переформулировать так:
«Кажется, что ты понял тему — пока не получишь задачу в лоб»
Какой вывод даст этот код — и почему?😶
👉 @PythonPortal
"У всех есть план, пока не получат по лицу."
В программировании (и особенно при изучении Python) это можно переформулировать так:
«Кажется, что ты понял тему — пока не получишь задачу в лоб»
Какой вывод даст этот код — и почему?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29👍12❤8🤔6🔥1
В России теперь можно официально зарегать свои ИТ-скиллы
Минцифра запустила платформу, где любой желающий может пройти тест и получить сертификат — всё добровольно.
Результат ляжет в личный кабинет на Госуслугах и будет действовать целый год.
Уже можно подтвердить знания по Python, Java, SQL, Linux и другим технологиям.
Пройти можно тут: gosuslugi.ru/itskills🧠
👉 @PythonPortal
Минцифра запустила платформу, где любой желающий может пройти тест и получить сертификат — всё добровольно.
Результат ляжет в личный кабинет на Госуслугах и будет действовать целый год.
Уже можно подтвердить знания по Python, Java, SQL, Linux и другим технологиям.
Пройти можно тут: gosuslugi.ru/itskills
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37👍12😁8💊7🤣3🔥1🤔1
Принёс полезное с Хабра — перевод обновленного учебника по Flask от Мигеля Гринберга
Налетайте☕️
👉 @PythonPortal
Глава 1: Привет, мир! (тык);
Глава 2: Шаблоны (тык);
Глава 3: Веб-формы (тык);
Глава 4: База данных (тык);
Глава 5: Логины пользователей (тык);
Глава 6: Страница профиля и аватары (тык);
Глава 7: Обработка ошибок (тык);
Глава 8: Подписчики (тык);
Глава 9: Разбивка на страницы (тык);
Глава 10: Поддержка электронной почты (тык);
Глава 11: Дизайн приложения (тык);
Глава 12: Дата и время (тык);
Глава 13: I18n и L10n (тык);
Глава 14: Ajax (тык);
Глава 15: Улучшенная структура приложения (тык);
Глава 16: Полнотекстовый поиск (тык);
Глава 17: Развертывание на Linux (тык);
Глава 18: Развертывание на Heroku (тык);
Глава 19: Развертывание на контейнерах Docker (тык);
Глава 20: Немного магии JavaScript (тык);
Глава 21: Уведомления пользователей (тык);
Глава 22: Фоновые задания (тык);
Глава 23: Интерфейсы прикладного программирования (API) (тык).
Налетайте
Please open Telegram to view this post
VIEW IN TELEGRAM
❤40👍17🔥6💊1
Использование оператора match case
В Python 3.10 был введён оператор match case для сопоставления с образцом (pattern matching). Он предоставляет более питоничный способ обработки множества условий без использования традиционных конструкций if-else.
Выше представлен пример использования оператора
Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий
Ставь лайк если это полезно для тебя😈
👉 @PythonPortal
В Python 3.10 был введён оператор match case для сопоставления с образцом (pattern matching). Он предоставляет более питоничный способ обработки множества условий без использования традиционных конструкций if-else.
Выше представлен пример использования оператора
match case
для сопоставления дней недели с задачами. Например, case 'monday'
срабатывает, если значение переменной day
равно 'monday'
, и возвращает 'learn Python'
.Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий
Ставь лайк если это полезно для тебя
Please open Telegram to view this post
VIEW IN TELEGRAM
❤75👍26🔥13🌚2🤔1
Media is too big
VIEW IN TELEGRAM
Создай своего первого AI-агента + MCP-сервер на Python
Вот всё, что тебе нужно, чтобы собрать своего первого AI-агента меньше чем за 20 минут.
О коде, который ты здесь увидишь:
> Используется Google ADK с Gemini Flash для запуска агента
> Агент подключается к MCP-серверу
> Он также использует два кастомных инструмента для выполнения задач
> Всё, что делает агент, можно отслеживать благодаря библиотеке Opik
Вот видео — можешь смотреть бесплатно.
А вот репозиторий на GitHub с кодом💯
👉 @PythonPortal
Вот всё, что тебе нужно, чтобы собрать своего первого AI-агента меньше чем за 20 минут.
О коде, который ты здесь увидишь:
> Используется Google ADK с Gemini Flash для запуска агента
> Агент подключается к MCP-серверу
> Он также использует два кастомных инструмента для выполнения задач
> Всё, что делает агент, можно отслеживать благодаря библиотеке Opik
Вот видео — можешь смотреть бесплатно.
А вот репозиторий на GitHub с кодом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍16🔥4😁2
Нужно создать XML с помощью Python? Попробуй модуль xml. 🐍
Я предпочитаю использовать
Функция
Затем создаём элементы:
> Appointments — корневой элемент
> subAppointment — дочерний элемент, добавляется к корню
Добавляем вложенный элемент:
В
Сериализация и запись в файл:
> Создаётся дерево ElementTree из корня.
> Файл открывается в бинарном режиме записи (wb).
> XML записывается в файл
Запускаем из консоли:
Если скрипт запущен напрямую — вызывается функция
В результате создаётся XML-файл:
Готовый и читаемый XML-документ😈
👉 @PythonPortal
Я предпочитаю использовать
ElementTree
, но в модуле xml есть и другие способы работы с XMLФункция
create_xml(filename):
создаёт XML-файл с заданным именем.def create_xml(filename):
Затем создаём элементы:
root = xml.Element("Appointments")
appt = xml.Element("subAppointment")
root.append(appt)
> Appointments — корневой элемент
> subAppointment — дочерний элемент, добавляется к корню
Добавляем вложенный элемент:
begin = xml.SubElement(appt, "begin")
begin.text = "1181251680"
В
subAppointment
добавляется подэлемент <begin>
, содержащий текст Сериализация и запись в файл:
tree = xml.ElementTree(root)
with open(filename, "wb") as fh:
tree.write(fh)
> Создаётся дерево ElementTree из корня.
> Файл открывается в бинарном режиме записи (wb).
> XML записывается в файл
Запускаем из консоли:
if __name__ == "__main__":
create_xml("appt.xml")
Если скрипт запущен напрямую — вызывается функция
create_xml
с именем выходного файла "appt.xml"В результате создаётся XML-файл:
<Appointments>
<subAppointment>
<begin>1181251680</begin>
</subAppointment>
</Appointments>
Готовый и читаемый XML-документ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍12🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Нашёл классный инструмент для тех, кто работает с Pandas
Теперь можно автоматически профилировать DataFrame в Jupyter с помощью Pandas AutoProfiler
На выходе — распределение по колонкам, сводная статистика, данные по null-значениям, экспорт кода и т.д.
Всё работает автоматически — писать дополнительный код не нужно
Имба, влепи лайк если согласен⚔️
👉 @PythonPortal
Теперь можно автоматически профилировать DataFrame в Jupyter с помощью Pandas AutoProfiler
На выходе — распределение по колонкам, сводная статистика, данные по null-значениям, экспорт кода и т.д.
Всё работает автоматически — писать дополнительный код не нужно
Имба, влепи лайк если согласен
Please open Telegram to view this post
VIEW IN TELEGRAM
❤52👍17🔥8
Media is too big
VIEW IN TELEGRAM
Вот игра, с которой ты выучишь Python
Нет ничего лучше, чем писать код прямо внутри игры, чтобы понять, как работает программирование на практике.
CodeStrike — шутер + приключение + Python. Полностью бесплатно в Steam — но ограниченное время
Геймплей варьируется от примитивных задачек до настоящего хакерства камер и дверей. На борту автокомплит, пошаговый дебаг и три уровня сложности
Отличный способ учиться весело. Но, увы, мало кто знает. Наслаждайся✌️
👉 @PythonPortal
Нет ничего лучше, чем писать код прямо внутри игры, чтобы понять, как работает программирование на практике.
CodeStrike — шутер + приключение + Python. Полностью бесплатно в Steam — но ограниченное время
Геймплей варьируется от примитивных задачек до настоящего хакерства камер и дверей. На борту автокомплит, пошаговый дебаг и три уровня сложности
Отличный способ учиться весело. Но, увы, мало кто знает. Наслаждайся
Please open Telegram to view this post
VIEW IN TELEGRAM
❤55👍21🔥13🤯5😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Code review больше никогда не будет прежним
CodeRabbit добавил бесплатные AI-ревью кода прямо в VS Code, Cursor и Windsurf.
Этот инструмент находит баги и проверяет твой код на ошибки всего за несколько секунд. Подводит итоги и анализирует Pull Request из твоего репозитория на GitHub или GitLab
Всё что нужно это открыть панель расширений в VS Code, Cursor или Windsurf, введите😈
👉 @PythonPortal
CodeRabbit добавил бесплатные AI-ревью кода прямо в VS Code, Cursor и Windsurf.
Этот инструмент находит баги и проверяет твой код на ошибки всего за несколько секунд. Подводит итоги и анализирует Pull Request из твоего репозитория на GitHub или GitLab
Всё что нужно это открыть панель расширений в VS Code, Cursor или Windsurf, введите
"CodeRabbit"
и нажмите Install
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍12🔥7🌭4
Удаление элементов из set в Python
В Python множества (set) поддерживают два метода удаления элементов: remove() и discard()
На изображении выше видно:
>
>
Оба метода удаляют элементы, но ведут себя по-разному при отсутствии значения.
Такой подход помогает гибко управлять логикой в зависимости от ситуации:
> нужно жёстко контролировать наличие элемента — используй remove()
> хочешь без лишних исключений — discard() в помощь
Ставь лайк, если разобрался🚶♀️
👉 @PythonPortal
В Python множества (set) поддерживают два метода удаления элементов: remove() и discard()
На изображении выше видно:
>
s.remove(4)
выбрасывает KeyError, если элемента нет>
s.discard(4)
просто молчит и продолжает работу дальшеОба метода удаляют элементы, но ведут себя по-разному при отсутствии значения.
remove()
— строго, discard()
— спокойноТакой подход помогает гибко управлять логикой в зависимости от ситуации:
> нужно жёстко контролировать наличие элемента — используй remove()
> хочешь без лишних исключений — discard() в помощь
Ставь лайк, если разобрался
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87❤20🔥8🌭3👀3
Python Portal
ty — новый сверхбыстрый type checker для Python от Astral Анонсирован ty — проверщик типов и языковой сервер, написанный на Rust. В тестах он в 10–100 раз быстрее аналогов (на реальных проектах — до 600x быстрее Mypy 😳 ) Цель —> сделать лучшую цепочку инструментов…
Диагностика
Если ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python😎
👉 @PythonPortal
ty
становится всё лучшеЕсли ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤13🔥1
Вот репозиторий по основам PyTorch
Нет ничего лучше, чем разобраться в нейросетях на практике — тензоры, градиенты, обучение, всё по шагам в Jupyter.
Идеально, если хочешь вкатиться в AI — ссылка
Отличный репозиторий, но, увы, недооценён. Сохраняй♟
👉 @PythonPortal
Нет ничего лучше, чем разобраться в нейросетях на практике — тензоры, градиенты, обучение, всё по шагам в Jupyter.
Идеально, если хочешь вкатиться в AI — ссылка
Отличный репозиторий, но, увы, недооценён. Сохраняй
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37🔥16👍13