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

Связь: @sfoninja
Download Telegram
Классы и объекты в 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
Ловите годноту «VulnHub» платформа для практики реальных атак в безопасной среде

Бесплатная библиотека преднамеренно уязвимых виртуальных машин («boxes»), которые можно скачать и запустить в VirtualBox/VMware, чтобы отрабатывать сканирование, эксплуатацию и эскалацию привилегий в контролируемой лаборатории

Идеально подходит для обучения, подготовки к CTF и оценки практических навыков специалистов по кибербезопасности 😎

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

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Хочешь понять Kubernetes глубже

Попробуй этот подход. Есть серия гайдов, где кластер Kubernetes собирается буквально вручную. В этой части настройка worker-нод и всех необходимых компонентов

Такой формат помогает не просто пользоваться Kubernetes, а реально понять, как он устроен внутри 🏴‍☠

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

Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3🎉2
Варианты
Anonymous Quiz
23%
A
68%
B
7%
C
1%
D
2
Вложенные функции и области видимости переменных

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Халява для аналитиков: бесплатные курсы по «Data Science» от Kaggle Learn

Бесплатные курсы по анализу данных, машинному обучению, Python, SQL и другим инструментам data science. Построены по принципу: «минимум теории — максимум кода»

Все задания выполняются в Jupyter ноутбуках прямо в браузере и есть система автоматической проверки 👍

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

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Совет по Python: не глушите все ошибки

Ловить все исключения подряд это как пить обезболивающее, не сходив к врачу. Боль ушла но причина осталась.

🔄Боль → сигнал, что что-то не так (например, сидишь на горячей плите).
🔄Исключение → сигнал, что в коде что-то сломалось.

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

Тихая катастрофа:
try:
process_payment()
except Exception:
# Был ли пользователь реально списан?
# Получил ли он доступ к платным функциям?
# Упала ли база данных? Кто знает!
pass

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

Обрабатываем то, что понимаем:
try:
process_payment()
except PaymentError as e:
# Ошибка при оплате — обрабатываем
logger.error(f"Ошибка оплаты: {e}")
# Остальные исключения будут переданы для уведомления команды


Все остальные исключения лучше не ловить без надобности. Пусть они “всплывут”, попадут в APM/логирование и уведомят команду — так вы хотя бы узнаете, что что-то сломалось 🧠

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝3
Варианты
Anonymous Quiz
46%
A
44%
B
7%
C
3%
D
2
Особенности оператора is с целыми числами

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

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