Python Ninja | Программирование
6.93K subscribers
1.08K photos
99 videos
917 links
Канал для всех кто хочет освоить или прокачать навыки программирования на Python. Присоединяйся, чтобы стать настоящим Python Ninja!

Связь: @sfoninja
Download Telegram
Вот вам типичная «подлянка» в Python которая может съесть кучу времени

Если у вас есть метод, возвращающий либо экземпляр объекта, либо None, может возникнуть соблазн полагаться на истинность значения в условиях

Например:
thing = get_thing()
if thing:
do_stuff_with_thing(thing)


Это работает до тех пор, пока вы не определите метод bool. Тогда вы сами создадите себе очень запутанную ошибку: вдруг иногда do_stuff_with_thing перестаёт вызываться. И если прошло какое-то время, найти причину будет непросто

Правильное решение всегда явно проверять на None:
if thing is not None:
do_stuff_with_thing(thing)


Считайте это «наилучшей практикой». Делайте так даже если пока не видите в этом необходимости. У такого подхода нет недостатков 👍

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Жиза? ☺️

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
Нашёл простой способ узнать, какие LLM потянет ваш компьютер. ( и это не /llmfit)

Устанавливаете:
npm install -g llm-checker


Определяете характеристики железа:
llm-checker hw-detect


Получаете рекомендации моделей под нужную задачу:
llm-checker recommend --category coding


Утилита анализирует ваше железо и подсказывает, какие модели имеет смысл запускать локально, вместо бесконечных экспериментов в духе (а вдруг запустится).

Для тех, кто играет с локальными LLM через Ollama, LM Studio или Open WebUI, штука может сэкономить немало времени.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Microsoft выкатили компактный ПК для AI-разработчиков

Компания представила Surface RTX Spark Dev Box устройство построено на новом Arm-чипе NVIDIA RTX Spark и, по заявлению компании, способно локально запускать модели размером до 120 миллиардов параметров.

Продажи стартуют позже в этом году, цену пока держат в секрете 😱

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
This media is not supported in your browser
VIEW IN TELEGRAM
Google собрали целую AI-лабораторию и выложили её на GitHub

Коллекция из 30 научных скиллов, которые превращают ваших AI-агентов в команду исследователей для задач биологии, генетики и медицины.

Агенты получают доступ к AlphaFold, AlphaGenome и поиску сразу по 30 научным базам данных. После этого они могут самостоятельно изучать болезни, анализировать мутации и собирать научные обзоры 🤩

Собираем свою AI-лабораторию тут.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
Ловите подгон книга "Python Data Science Handbook"

Руководство по анализу данных на Python: от NumPy и pandas до визуализации и машинного обучения.

А ещё я нашёл репозиторий от Microsoft Data Formulator. Приложение которое использует большие языковые модели для преобразования данных и создания визуализаций

Вкатываемся в data science легко 📚

☝️ Ссылка источник
☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4
OpenAI раздают ChatGPT Pro бесплатно

Компания запустила программу для авторов open source-проектов, в рамках которой можно получить полгода ChatGPT Pro, доступ к Codex, GPT-5.5 Pro и дополнительные API-кредиты.

Всё что нужно показать свой GitHub, рассказать про проект и объяснить, зачем вам AI для его развития.

Если у вас есть живой репозиторий со звёздами и историей коммитов, шансы вполне реальные 😮

Получить шанс на бесплатный Pro тут.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub не готов к нашествию AI-агентов

Если за целый 2025 год на платформе было создано около 1 млрд коммитов, то уже сегодня разработчики и агенты генерируют примерно 1,4 млрд в месяц

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

GitHub придётся масштабироваться теми темпами, о которых ещё пару лет назад никто даже не думал. Удачи

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
На Stepik вышел курс «MCP: создание передовых агентных приложений»

Практическай материал по разработке AI-агентов и многосерверных систем на базе Model Context Protocol

Шаг за шагом собираем своего AI-агента с серверами, инструментами, логикой для принятия решений и даже анализом изображений. Всё это на практических примерах, с схемами и кодом в терминале

Что внутри:

клиент-серверная архитектура MCP
серверные конфигурации
инструменты, ресурсы и промпты
LangChain, LangGraph и LlamaIndex
логика, координация инструментов
логирование и отладка
агент для анализа изображений
подготовка решений к продакшен

Скидка 25%, действует 48 часов

🔗Пройти курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Полезная находка для ML-инженеров книга «Machine Learning Systems»

Ресурс, посвящённый инженерии систем машинного обучения, где ML рассматривается как целостная система, а не набор отдельных моделей

Учебник учит проектировать, оптимизировать и развертывать ML-решения с учётом реальных ограничений, инфраструктуры и требований продакшена

Приятный бонус книга полностью открытая: её исходники доступны на GitHub и постоянно обновляются☕️

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2
Python-совет: создайте собственный контекстный менеджер

Контекстные менеджеры нужны не только для работы с файлами. Вы можете создавать свои собственные через методы __enter__() и __exit__().

Например, для автоматического открытия и закрытия соединения с SQLite:
import sqlite3


class DataConn:
def __init__(self, db_name):
self.db_name = db_name

def __enter__(self):
self.conn = sqlite3.connect(self.db_name)
return self.conn

def __exit__(self, exc_type, exc_val, exc_tb):
self.conn.close()
if exc_val:
raise


with DataConn("test.db") as conn:
cursor = conn.cursor()


Как это работает:
__enter__() вызывается при входе в блок with
__exit__() вызывается при выходе из блока, даже если произошло исключение ресурсы освобождаются автоматически

Такой подход помогает избежать утечек соединений и делает код чище и безопаснее

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
Придумали TikTok для умных людей

На Reddit сейчас завирусился сайт с бесконечной лентой головоломок.

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

Ваш мозг скажет спасибо 🧠

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Google снова делает добро: выкатили бесплатный курс по Python

Внутри текстовые материалы, видео уроки и практические задания всё на основе внутреннего корпоративного обучения Google

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

Бесплатно без регистрации📝

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Совет по Python

Создание словаря из двух списков с использованием функций dict() и zip()

Пример:
x = ['name', 'age', 'country']
y = ['Yoko', 60, 'Angola']

dict1 = dict(zip(x, y))
print(dict1)

Вывод:
{'name': 'Yoko', 'age': 60, 'country': 'Angola'}


Как это работает?

Функция zip(x, y) соединяет элементы списков попарно (первый с первым, второй со вторым и т.д.), а dict() преобразует эти пары в готовый словарь

Практическое применение:

Для быстрого преобразования табличных данных в словари (например, при работе с CSV/Excel) создания конфигураций программ из отдельных списков параметров и значений, а также обработки любых структурированных записей

Важное условие:

Списки должны быть одинаковой длины, иначе лишние элементы не попадут в результат

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Нашли бесплатный учебник по AI-агентам

Бесплатный гайд, который разбирает все основные компоненты агентных систем: память, планирование, инструменты, цепочки действий и другие фундаментальные вещи.

После него станет гораздо понятнее, как работают Claude Code, Codex, Cursor и другие современные AI-агенты

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Привет Олег 🙂

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
Принёс полезное руководство по метоклассам в Python

Материал не просто рассказывает, что такое метаклассы, — он складывает из мелких деталей целостную картину объектной модели Python

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

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Библиотека AI-проектов для тех кто хочет учиться на практике

Большая коллекция реальных AI-проектов с кодом и пошаговыми инструкциями.

Финансовые аналитики, RAG-системы, OCR, AI для код-ревью, помощники для путешествий и другие практические кейсы всё уже готово для запуска и изучения 🧑‍🏫

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Совет по Python

Метод startswith()

Если у вас есть список строк и вы хотите получить все строки, которые начинаются с определённого значения, вы можете использовать метод списка startswith()

В приведённом ниже примере мы хотим получить все строки из списка, начинающиеся с буквы "a"
a = ['Lemon', 'Orange', 'apple', 'apricot']
list1 = [i for i in a if i.startswith('a')]
print(list1)

# Вывод:
['apple', 'apricot']


Важные уточнения:

Чувствительность к регистру – метод startswith('a') проверяет строго с маленькой буквы

Если нужно искать строки, начинающиеся на 'a' или 'A' используйте:
[i for i in a if i.lower().startswith('a')]

Проверка нескольких префиксов – можно передавать кортеж префиксов:
[i for i in a if i.startswith(('a', 'A'))]


✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62
«Освоение модульного тестирования с использованием Pytest» курс на Stepik

Сегодня умение писать тесты ценится почти так же, как и умение писать сам код. Если pytest, fixtures, CI/CD и coverage всё ещё вызывают вопросы самое время это исправить

Программа курса:

• Pytest: от базовых тестов до CI/CD
• fixtures, mocking, parametrization
• Flask/API testing
• Selenium и UI тестирование
• Docker + Docker Compose
• GitHub Actions
• coverage и отчёты
• debugging и refactoring тестов

Курс построен вокруг практики: много примеров, готовых кейсов и разборов рабочих сценариев

48 часов действует скидка 25%

↗️ Пройти курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Google запускают бесплатный курс по AI-агентам

15 июня стартует интенсив на котором рассказывают, как с нуля создавать AI-агентов работающих с различными инструментами, памятью и сложными цепочками действий.

В программе: вайбкодинг, архитектура агентов, управление контекстом, безопасность и вывод проектов в прод.

Самое приятное участие бесплатное, а после курса выдают сертификат 🖥

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3