TGViewer
Channel Public Channel
Python Portal

Python Portal

@pythonportal

Всё самое интересное из мира Python

Сотрудничество, реклама: @devmangx

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3GMMF6
Subscribers
50.7K
Photos
2.9K
Videos
492
Links
1.3K

Showing posts older than #4471 · Back to latest

Older Posts 20 shown
Post #4470 13.7K
Анатомия Python-класса

Почти всё, что может содержать определение класса в Python — в одной картинке.

Удобный визуал, чтобы быстро освежить синтаксис и структуру 💯

👉 @PythonPortal
  • 👍 72
  • 🔥 26
  • ❤ 8
  • 👀 6
Post #4469 14.1K
Вот четвёртый трюк с GitHub вам в копилку: просто замени .com на chat.ai в URL любого репозитория — и ты сможешь напрямую общаться с кодом 😎

Это меняет правила игры для быстрого понимания и навигации по проекту

👉 @PythonPortal
  • 👍 54
  • ❤ 8
  • 💊 2
  • 🔥 1
Post #4468 14.9K
Совет по Python на сегодня:

С помощью pathlib можно получить доступ к различным частям пути, таким как имя файла, расширение и родительский каталог. Это упрощает обработку и анализ файловых путей

> Имя файла с расширением:

>>> path.name
'test.md'


> Имя файла без расширения:

>>> path.stem
'test'


> Расширение файла:

>>> path.suffix
'.md'


> Родительский каталог:

>>> path.parent
PosixPath('C:/Users')


👉 @PythonPortal
  • 👍 40
  • ❤ 14
  • 🔥 9
Post #4467 15.7K
Вот бесплатный курс по изучению Python — 100-days-of-python

С практическими упражнениями и пошаговыми туториалами

Нет ничего лучше, чем писать код ежедневно на протяжении 100 дней, чтобы прочувствовать логику программирования на практике.

Интерактивный курс, который тебе реально нужно заценить. Не благодари 😈

👉 @PythonPortal
  • 🔥 44
  • 👍 12
  • ❤ 10
Post #4466 15.1K
Вот репозиторий по основам PyTorch

Нет ничего лучше, чем разобраться в нейросетях на практике — тензоры, градиенты, обучение, всё по шагам в Jupyter.

Идеально, если хочешь вкатиться в AI — ссылка

Отличный репозиторий, но, увы, недооценён. Сохраняй ♟

👉 @PythonPortal
  • ❤ 37
  • 🔥 16
  • 👍 14
Post #4465 13.1K
Python Portal ty — новый сверхбыстрый type checker для Python от Astral Анонсирован ty — проверщик типов и языковой сервер, написанный на Rust. В тестах он в 10–100 раз быстрее аналогов (на реальных проектах — до 600x быстрее Mypy 😳) Цель —> сделать лучшую цепочку инструментов…
Диагностика ty становится всё лучше

Если ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python 😎

👉 @PythonPortal
  • 👍 21
  • ❤ 13
  • 🔥 1
Post #4464 13.4K
Удаление элементов из set в Python

В Python множества (set) поддерживают два метода удаления элементов: remove() и discard()

На изображении выше видно:

> s.remove(4) выбрасывает KeyError, если элемента нет

> s.discard(4) просто молчит и продолжает работу дальше

Оба метода удаляют элементы, но ведут себя по-разному при отсутствии значения.

remove() — строго, discard() — спокойно

Такой подход помогает гибко управлять логикой в зависимости от ситуации:

> нужно жёстко контролировать наличие элемента — используй remove()
> хочешь без лишних исключений — discard() в помощь

Ставь лайк, если разобрался 🚶‍♀️

👉 @PythonPortal
  • 👍 87
  • ❤ 20
  • 🔥 8
  • 🌭 3
  • 👀 3
Post #4463 14.6K
Code review больше никогда не будет прежним

CodeRabbit добавил бесплатные AI-ревью кода прямо в VS Code, Cursor и Windsurf.

Этот инструмент находит баги и проверяет твой код на ошибки всего за несколько секунд. Подводит итоги и анализирует Pull Request из твоего репозитория на GitHub или GitLab

Всё что нужно это открыть панель расширений в VS Code, Cursor или Windsurf, введите "CodeRabbit" и нажмите Install 😈

👉 @PythonPortal
  • ❤ 30
  • 👍 12
  • 🔥 7
  • 🌭 4
Post #4461 15.5K
Вот игра, с которой ты выучишь Python

Нет ничего лучше, чем писать код прямо внутри игры, чтобы понять, как работает программирование на практике.

CodeStrike — шутер + приключение + Python. Полностью бесплатно в Steam — но ограниченное время

Геймплей варьируется от примитивных задачек до настоящего хакерства камер и дверей. На борту автокомплит, пошаговый дебаг и три уровня сложности

Отличный способ учиться весело. Но, увы, мало кто знает. Наслаждайся ✌️

👉 @PythonPortal
  • ❤ 56
  • 👍 21
  • 🔥 13
  • 🤯 6
  • 😁 1
Post #4460 13.8K
Нашёл классный инструмент для тех, кто работает с Pandas

Теперь можно автоматически профилировать DataFrame в Jupyter с помощью Pandas AutoProfiler

На выходе — распределение по колонкам, сводная статистика, данные по null-значениям, экспорт кода и т.д.

Всё работает автоматически — писать дополнительный код не нужно

Имба, влепи лайк если согласен ⚔️

👉 @PythonPortal
  • ❤ 52
  • 👍 18
  • 🔥 8
Post #4458 12K
Нужно создать XML с помощью Python? Попробуй модуль xml. 🐍

Я предпочитаю использовать 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-документ 😈

👉 @PythonPortal
  • ❤ 30
  • 👍 13
  • 🔥 1
Post #4457 13.4K
Создай своего первого AI-агента + MCP-сервер на Python

Вот всё, что тебе нужно, чтобы собрать своего первого AI-агента меньше чем за 20 минут.

О коде, который ты здесь увидишь:

> Используется Google ADK с Gemini Flash для запуска агента
> Агент подключается к MCP-серверу
> Он также использует два кастомных инструмента для выполнения задач
> Всё, что делает агент, можно отслеживать благодаря библиотеке Opik

Вот видео — можешь смотреть бесплатно.
А вот репозиторий на GitHub с кодом 💯

👉 @PythonPortal
  • ❤ 29
  • 👍 17
  • 🔥 4
  • 😁 2
Post #4455 13.6K
Использование оператора match case

В Python 3.10 был введён оператор match case для сопоставления с образцом (pattern matching). Он предоставляет более питоничный способ обработки множества условий без использования традиционных конструкций if-else.

Выше представлен пример использования оператора match case для сопоставления дней недели с задачами. Например, case 'monday' срабатывает, если значение переменной day равно 'monday', и возвращает 'learn Python'.

Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий

Ставь лайк если это полезно для тебя 😈

👉 @PythonPortal
  • ❤ 78
  • 👍 27
  • 🔥 13
  • 🌚 2
  • 🤔 1
Post #4454 14.9K
Принёс полезное с Хабра — перевод обновленного учебника по Flask от Мигеля Гринберга

Глава 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) (тык).


Налетайте ☕️

👉 @PythonPortal
  • ❤ 41
  • 👍 18
  • 🔥 6
  • 🤯 1
  • 💊 1
Post #4450 13.7K
Майк Тайсон однажды сказал:

"У всех есть план, пока не получат по лицу."


В программировании (и особенно при изучении Python) это можно переформулировать так:

«Кажется, что ты понял тему — пока не получишь задачу в лоб»

Какой вывод даст этот код — и почему? 😶

👉 @PythonPortal
  • 😁 30
  • 👍 13
  • ❤ 9
  • 🤔 6
  • 🔥 1
Post #4449 13.4K
Если ты каждый день используешь кучу AI-инструментов — вот штука, которая серьёзно упростит тебе жизнь.

Называется GlobalGPT

В одном месте ты получаешь доступ к: GPT-4.5, Claude 3.7, DeepSeek, MidJourney, Perplexity, Runway и другим.

Больше не нужно прыгать по вкладкам — всё в одной панели 🪄

👉 @PythonPortal
  • 🔥 28
  • ❤ 11
  • 👍 4
  • 🌭 2
  • 🤝 2
  • 💊 2
Post #4448 12.9K
Нужно искать ключи в нескольких словарях с приоритетом?

Ручной способ поиска: сначала в 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) — он сам идет по цепочке, пока не найдет ключ

Даже если ключ есть в нескольких словарях, берётся первое вхождение по приоритету

👉 @PythonPortal
  • 👍 49
  • ❤ 21
  • 🔥 3
Post #4447 12.1K
Посмотри на это: MCP-сервер для управления Jupyter-ноутбуками через Claude

MCP-сервер — это "мост", который позволяет Claude напрямую управлять ноутбуком. Создавать ячейки, писать код, запускать его.

Ты можешь сказать Claude что-то вроде:

«Создай ячейку с кодом, который загружает CSV-файл и строит график»


И он реально создаст такую ячейку в Jupyter и запустит её

Полностью open-source и бесплатен для использования 😎

👉 @PythonPortal
  • ❤ 22
  • 👍 8
Post #4446 12.4K
Совет по Python:

Чтобы посчитать количество вхождений элементов, используйте 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})



👉 @PythonPortal
  • 👍 56
  • ❤ 21
  • 🔥 5
Post #4445 12.9K
Наткнулся на отличную платформу для практики: Pybites Bites of Py

Это интерактивные мини-задачи (байты) по Python, которые ты решаешь прямо в браузере.

Твой код сразу тестируется

> Короткие и прикладные задачи
> Всё онлайн, ничего ставить не нужно
> Прокачка Python навыков и стандартной библиотеки
> Отлично подходит для новичков и опытных

Попробовать можно бесплатно:
-> https://pybitesplatform.com/bites/demo

👉 @PythonPortal
  • 👍 35
  • ❤ 9
  • 🔥 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →