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

Связь: @sfoninja
Download Telegram
Ловите исчерпывающее руководство по подготовке к SQL собеседованию

Если впереди SQL-собес и руки уже холодеют от волнения — не парься! В этом гайде собраны топовые вопросы, разборы и лайфхаки, которые помогут уверенно писать запросы и понимать, что от тебя хотят рекрутеры

Всё по полочкам и максимально доступно 📚

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

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Совет по Python: Использование декоратора dataclass в Python

Декоратор dataclass упрощает создание классов, которые в основном хранят данные. Он автоматически генерирует специальные методы, такие как __init__, __repr__ и другие. Это снижает многословность кода, сохраняя при этом его ясность и функциональность.

На фото приведены два примера. В первом мы используем декоратор dataclass, поэтому явно не добавляем методы __init__, __repr__ и __eq__. Они автоматически добавляются декоратором.

Во втором примере показано, как выглядел бы тот же код без использования декоратора dataclass. Видно, что такой код гораздо длиннее

Ставь лайк если пост был полезным ❤️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Полезная тулза «Memory_graph» визуализатор памяти для Python

Система отображает взаимосвязи между объектами, различия между поверхностным и глубоким копированием, а также изменяемость объектов. Поддерживается работа с локальными переменными, стеком вызовов и вложенными структурами

Отличный помощник для обучения и отладки чтобы наглядно понять, как Python управляет памятью и объектами ❤️

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝3
Как Python управляет памятью: арены, пулы и блоки в действии

Мы привыкли к удобным абстракциям Python — создаём список или строку и не думаем, где хранится память и когда она освободится. Но под капотом работает куда более хитрый механизм: свой аллокатор pymalloc, подсчёт ссылок и сборщик мусора.

В статье на Хабре автор рассказывает и показывает это наглядно с помощью собственного приложения MemoryMonitorApp. Оно визуализирует устройство памяти в CPython: арены, пулы, блоки, работу с циклами и освобождением объектов

Получается своего рода «лупа» для изучения интерпретатора — не промышленный инструмент, а способ увидеть, как Python обращается с памятью и почему она не всегда возвращается системе 👨‍💻

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

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Подводный камень для новичков в Python

Метод strip() не убирает подстроку, а удаляет все символы указанные в аргументе, с начала и конца строки

Пример:
text = "#=Hello###"

print(text.strip('#='))
# 'Hello' — удалены все # и =


🟠strip('#=') и strip('=#') дадут одинаковый результат — порядок символов не важен
🟠Но strip() не уберёт именно подстроку "#=", только отдельные символы # и =

Если нужно убрать конкретную подстроку, используй:
text.removeprefix('#=')
text.removesuffix('###')


⚡️ Помни: strip() → удаляет символы,
removeprefix() / removesuffix() → удаляют подстроки

✈️ 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🏆2
Откопал две мощные платформы для практического обучения «Play with Docker и Play with Kubernetes»

Play with Docker предоставляет интерактивную среду для запуска контейнеров и работы с сетями. Пользователь получает 4-часовую сессию и до пяти виртуальных машин. Плюсом идёт обучение с заданиями и теорией

Play with Kubernetes позволяет развернуть кластер Kubernetes, добавлять узлы и тестировать манифесты. Сессия ограничена 4 часами. Здесь также доступен мини-курс с подробными пошаговыми инструкциями 🏴‍☠️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Хорошая книга по питону для старта «Learn Python 3»

Python с нуля бесплатно книга прямо на GitHub. Нашёл полноценное руководство по Python, оформленное как книга: всё от базовых конструкций до первых реальных программ

Можно спокойно идти по главам и постепенно разбираться в языке

Ставь лайк и погнали учиться 😮

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

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Равенство значений в Python

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Варианты
Anonymous Quiz
13%
A
73%
B
11%
C
4%
D
🏆4
Совет по Python

Не преобразовывай итераторы в списки только ради срезов. Это тратит память и время впустую 😬

Вместо этого используй islice из модуля itertools — результат тот же, но без лишних затрат 💪

from itertools import islice

# Плохо: загружает всё в память
data = list(big_file_iter)
first_10 = data[:10]

# Хорошо: берёт только первые 10 элементов
first_10 = list(islice(big_file_iter, 10))


Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Подвох с параметрами по умолчанию в Python

def add(item, items=[]):
items.append(item)
return items

add("apple") # ['apple']
add("banana") # ['apple', 'banana']


Почему так?

➡️ Важно помнить: значения по умолчанию создаются при определении функции, а не при каждом вызове.

Поэтому если использовать изменяемый объект (например, список), он будет один и тот же для всех вызовов.

Правильный способ:

def add(item, items=None):
if items is None:
items = []
items.append(item)
return items

Теперь всё будет как ожидается 💡

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хочешь ворваться в мир кибербеза лови подгон «90DaysOfCyberSecurity»

Твой личный план прокачки на 90 дней направленный на развитие ключевых навыков в области кибербезопасности. Каждый день новые темы от сетевых основ до анализа вредоносного ПО и пентеста

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

Ставь лайк и стартуй ❤️

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

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