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

Связь: @sfoninja
Download Telegram
Упростить логирование в Python можно с помощью Loguru 🪵

Стандартный модуль logging умеет почти всё, но даже базовая настройка часто требует handlers, format strings и дополнительного конфигурационного кода.

Loguru делает логирование по ощущениям почти таким же простым, как print(), при этом поддерживает:
timestamps;
уровни логов;
запись в файлы;
rotation;
retention;
подробный вывод исключений.

В статье сравниваются оба подхода и показывается, как Loguru позволяет сделать типичные задачи логирования короче и читабельнее.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Фатальная ошибка в pandas

Такой код не фильтрует значения NULL или None:
df[df['user_id'] != None]


В pandas пропущенные значения представлены как NaN или None, но оператор != работает с ними не так, как многие ожидают.

Поэтому такой фильтр не удаляет все пропущенные значения.

Вместо этого используйте:
df[df['user_id'].notna()]


или
df.dropna(subset=['user_id'])


Для проверки пропущенных значений в pandas всегда используйте методы isna() и notna(), а не операторы == или !=.

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В Python обычный zip() может незаметно «съесть» часть данных, если списки разной длины. 🐍

Например:
x = [1, 2, 3, 4, 5]
y = ['a', 'b', 'c']

list(zip(x, y))
# [(1, 'a'), (2, 'b'), (3, 'c')]


zip()
останавливается, как только заканчивается самый короткий список — поэтому 4 и 5 просто не попадут в результат.

Если нужно сохранить все элементы, есть itertools.zip_longest():
import itertools

list(itertools.zip_longest(x, y))
# [(1, 'a'), (2, 'b'), (3, 'c'), (4, None), (5, None)]


Недостающие значения он по умолчанию заполняет None.

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

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

Возвращаем несколько значений из функции с помощью namedtuple

По умолчанию функция возвращает одно значение, но иногда нужно вернуть несколько. Один из удобных способов — использовать namedtuple из модуля collections. Это позволяет задать структуру возвращаемых значений, делая код более читаемым и понятным

Пример:
from collections import namedtuple

def multiple_values():
MyTuple = namedtuple("MyTuple", ["name", "age", "car"])
name = "Mark"
age = 21
car = "Ford"
return MyTuple(name, age, car)

# Использование функции
result = multiple_values()
print(f"Name: {result.name}, Age: {result.age}, Car: {result.car}")

Вывод:
Name: Mark, Age: 21, Car: Ford


Преимущества:

Четкая структура: поля name, age и car заданы явно

Доступ к значениям по именам (result.name), а не по индексам

Улучшает читаемость и поддерживаемость кода

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Бесплатный тренажер по Bash и Linux

Если давно хотели подтянуть работу с терминалом, обратите внимание на ShellGym. Это набор практических упражнений, который поможет освоить основные команды Linux и научиться решать задачи в командной строке.

Отличный ресурс для новичков и тех, кто хочет освежить знания чтобы стать увереннее в Linux.

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
«Освоение модульного тестирования с использованием 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
🤝2
Учебный сайт по программированию на Python

Он представляет собой бесплатный онлайн-учебник, который охватывает путь от самых базовых понятий до более сложных инструментов и библиотек

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

Забираем за печеньки 🍪🍪

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Полезный ресурс ML разработчиков справочник по машинному обучению

Шпаргалка в виде структурированной документации с краткими и понятными объяснениями: от линейной регрессии и градиентного спуска до нейросетей, функций активации и оптимизаторов

Каждая тема сопровождается схемами, формулами и примерами, что делает ресурс полезным как для новичков, так и для практикующих специалистов

Быстрый буст к твоей ML-карме 🧠

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Вы когда-нибудь использовали коллекцию deque в Python?

deque специально разработана для быстрого, эффективного по памяти и потокобезопасного добавления и удаления элементов с обоих концов.

deque можно даже циклически сдвигать!

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
collections.ChainMap — встроенный класс Python, который объединяет несколько словарей или других отображений в единое обновляемое представление.

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Путь в data science от Аллена Дауни книга «Elements of Data Science»

Бесплатное интерактивное пособие, которое объясняет науку о данных через реальные задачи и код на Python

Всё шаг за шагом: от базовых Python структур до визуализации, регрессии и статистики и всё в интерактивных блокнотах, где можно сразу писать и запускать код

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

Сохраняем за лайк ❤️

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Декораторы и регистр Python

Что выведет код? 🪑

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Варианты
Anonymous Quiz
68%
A
12%
B
6%
C
14%
D
Подборка бесплатных онлайн-курсов «PanXProject»

Настоящая сокровищница бесплатных возможностей для прокачки! Сотни курсов по разным темам бери, учись, прокачивайся и добавляй в резюме, а если найдёшь что-то новое можно закинуть в репозиторий и поделиться с другими 👍

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

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

Функция locals()

Встроенная функция locals() возвращает словарь, представляющий текущую локальную таблицу символов.

Таблица символов — это структура, в которой Python хранит все имена (переменные, функции, классы и т.д.), доступные в определённой области видимости.

Когда locals() вызывается внутри функции, она возвращает словарь со всеми локальными переменными, определёнными в рамках этой функции.

В примере переменные z и x определены локально внутри функции. Переменная y = 20 является глобальной и не относится к области видимости my_func(). Поэтому locals() внутри my_func не включает y

✈️ 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
🔥2
Когда «разобраться в ИИ» не просто слова: парень пересобрал GPT-20B

Пока одни всё обсуждают нейросети, другие берут и пишут их архитектуру сами. На GitHub появился репозиторий с реализацией GPT-OSS-20B на чистом PyTorch: attention, RoPE, MoE, кеши и вся тяжёлая артиллерия LLM внутри

Не очередной «чат-бот», а реальный конструктор большой модели. Для тех, кто хочет не пользоваться ИИ, а понимать, как он дышит 😱

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👀1
Знали ли вы, что в Python можно читать текстовые файлы с помощью pathlib?

Вот как это сделать:

✈️ 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
🤝2
Варианты
Anonymous Quiz
54%
A
18%
B
13%
C
15%
D
Как распаковать кортеж, список и объект range с помощью одной звёздочки в Python.

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