Поколение Python 🐍
50.3K subscribers
2K photos
16 videos
6 files
866 links
Серия курсов по языку Python от BEEGEEK 🐝.

Сайт: pygen.ru
Мерч: shop.pygen.ru
Чат: @pygen_ru_comments
Бот: @pygen_ru_bot
Поддержка: @pygen_ru_support

Перечень РКН: https://www.gosuslugi.ru/snet/673650d605391b3bfb5541c0
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥159👀49❤‍🔥5😍5❤2🤗2😁1🗿1
Друзья, отличная новость: 13 сентября стартует наша традиционная викторина ко Дню программиста! 😎

📌 Викторина будет проходить в телеграм-боте. Поделимся ссылкой 13 сентября.

Что вас ждет:

🔹16 вопросов: логических, математических, программистских
🔹7 дней на решение
🔹10 бесплатных доступов к курсам, которые разыграем случайно среди всех участников

🧑‍💻 День программиста традиционно отмечают в 256-й день года. Это 13 сентября (или 12-е, если год високосный). 🧐

Ставь реакцию:

❤️ — если сами помните про День программиста
👀 — если вам напоминает интернет

#конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👀207❤50🔥12❤‍🔥2👨‍💻2👍1💘1
Друзья, в недавнем посте мы разобрали, как цикл for перебирает элементы итерируемого объекта с помощью итератора. А сегодня поговорим про сами итераторы. 😎

📌 Итератор — это объект, который обеспечивает последовательный доступ к элементам коллекции. Он выдает элементы по одному и хранит текущее состояние обхода.

У итератора есть два ключевых метода, реализующих протокол итератора:

1️⃣ __iter__() — возвращает самого себя. Нужен для того, чтобы любой итератор можно было использовать там, где ожидается итерируемый объект (например, в for). Проще говоря, итератор тоже является итерируемым объектом.
2️⃣ __next__() — возвращает очередной элемент.

С помощью функции iter() мы можем получить итератор из итерируемого объекта. После этого мы можем передавать его встроенной функции next(), которая вызывает метод __next__() у итератора и возвращает очередной элемент.

Когда элементы заканчиваются, метод __next__() возбуждает исключение StopIteration и итератор становится совершенно бесполезным. Цикл for обрабатывает это исключение автоматически и завершает выполнение.

Представить работу цикла:

for x in obj:
print(x)


можно следующим образом:

it = iter(obj)
while True:
try:
print(next(it))
except StopIteration:
break


👀 Более подробно об итераторах и о том, как можно реализовывать собственные итераторы, мы рассказываем в наших курсах для профессионалов и ООП. Напоминаем, что до 15 сентября действует скидка 2000 рублей при покупке любого нашего курса!

Ставьте реакцию:

❤️ — если уже прошли итераторы в наших курсах
🔥 — если проходите их прямо сейчас
👀 — если еще не добрались до итераторов

#полезныйматериал #python #ооп
Please open Telegram to view this post
VIEW IN TELEGRAM
❤63👀59🔥10👨‍💻5
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤4839😭23😁153👏2😱2🎉2🙏1👌1
Друзья, сегодня рассказываем про интересный подход к разработке программного обеспечения.

⚠️ Представим ситуацию: несколько разработчиков пишут код каждый в своей ветке, а потом пытаются все объединить. Это чревато конфликтами, сломанными функциями и багами.

📌 CI/CD (Continuous Integration and Continuous Delivery/Deployment, непрерывная интеграция и непрерывная доставка/развертывание) — подход, который решает эту проблему с помощью автоматизации сборки, тестирования и выпуска приложений.

CI/CD позволяет:

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

В общем виде это работает так:

🩵 разработчик отправляет код в репозиторий
🩵 автоматически выполняются сборка и тестирование
🩵 после успешной проверки приложение выкатывается в прод

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

Ставьте реакцию:

🔥 — если уже слышали про CI/CD
👀 — если впервые узнали об этом подходе
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥122👀77👍5❤2👌1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👀27🤯8❤7👨‍💻2👻1🤝1😎1
Друзья, поздравляем с Днем программиста и делимся нашим подарком — викториной! 😍

Как принять участие:

🔹 поставить ❤️ этому посту
🔹перейти в специальный телеграм-бот
🔹ответить на 16 вопросов: логических, алгоритмических, программистских
🔹прикрепить скрин карточки со своими результатами к этому посту

🎁 21 сентября подведем итоги: разыграем среди всех участников 10 бесплатных доступов к нашим курсам.

⚠️ Если викторина не загружается, попробуйте отключить/включить магическое приложение, благодаря которому вы все еще читаете нас в Telegram. Если и это не поможет, воспользуйтесь явной ссылкой викторины.

#конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤496👍22🔥129❤‍🔥4🏆2👨‍💻2🤩1👌1😇1😎1
Друзья, сегодня разбираем новое слово недели! 😎

🐽 Сниффер (от англ. to sniff — «нюхать») или анализатор пакетов — это устройство или программа, которая смотрит, какие данные передаются между устройствами в сети, и помогает их разбирать.

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

1️⃣ данные в сети передаются в виде пакетов
2️⃣ сниффер перехватывает эти пакеты
3️⃣ анализирует их и отображает в удобном виде

Для чего используют снифферы:

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

Легальный сниффинг используют администраторы и инженеры для анализа и диагностики сети.
Нелегальный сниффинг может применяться для перехвата чужих данных.

Ставьте реакцию:

🔥 — если уже слышали про снифферы
👀 — если узнали о них впервые
Please open Telegram to view this post
VIEW IN TELEGRAM
👀126🔥96👍64❤3⚡1👌1💯1
Друзья, команда «Поколения» активно пишет курс по алгоритмам для продвинутых. Готовы поделиться с вами содержанием курса и другими подробностями! ⚠️

🔥 Новый курс является прямым продолжением курса «Алгоритмы и структуры данных для начинающих» и адресован знающим базовые конструкции и типы данных языка Python. Это вторая и последняя часть нашей линейки по алгоритмам.

Что будет в курсе:

🟢рекурсия
🟢комбинаторные алгоритмы
🟢рекурсивный обход и перебор
🟢быстрые сортировки
🟢деревья
🟢бинарное дерево поиска BST
🟢двоичная куча и пирамидальная сортировка
🟢жадные алгоритмы
🟢динамическое программирование

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

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

♥️♥️♥️♥️♥️🔥 Выход курса запланирован на начало января, но предпродажи стартуют раньше. Чтобы узнать об этом первыми, подпишитесь на новости о курсе на нашем сайте.

Ставьте реакцию:

🔥 — если уже прошли алгосы для начинающих
❤️ — если курс купили, но пока не прошли
👀 — если вам пока не до алгоритмов

#алгоритмыдляпродвинутых #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
1👀91❤84🔥3316🏆2🆒22⚡1❤‍🔥1👨‍💻1
Друзья, мы готовы подвести итоги викторины ко Дню программиста! 😎

😮 Всего викторину прошли 810 человек. Средний результат — 13/16.

Как распределились результаты по званиям:

🐣 0–3 балла, Укротитель Hello World — 0,3%
🧑‍💻 4–6 баллов, Повелитель циклов — 2,1%
⚔️ 7–9 баллов, Охотник на баги — 10,6%
🧙 10–11 баллов, Заклинатель алгоритмов — 6,2%
🧠 12–13 баллов, Архитектор кода — 14,9%
👑 14–15 баллов, Легенда Stack Overflow — 19,9%
🐉 16 баллов, Финальный босс программирования — 46%

👩‍❤️‍👨 А вот и десять счастливчиков, которые получат бесплатный доступ к любому курсу «Поколения» на выбор:

❤️Игорь
❤️Богдан
❤️sHa li
❤️Андрей
❤️Соня
❤️Дмитрий
❤️Damien MorgenStern
❤️Виктор
❤️Артем
❤️Диана

✅ Проверить результаты конкурса можно по ссылке.

Ставьте ❤️, если хотите больше викторин от «Поколения»!

#конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤143💔118👍3🏆3😍2👏1💯1🤝1
Друзья, сегодня продолжим тему рекурсии. 😎

Одно из наиболее интересных (и красивых) применений рекурсии — рисование фракталов.

📌 Фрактал — это геометрическая фигура, состоящая из уменьшенных копий самой себя.

😄 Один из классических фракталов — треугольник Серпинского. Для его построения внутри равностороннего треугольника рисуют перевернутый треугольник, который образует три новых равносторонних треугольника. Затем с каждым из новых треугольников выполняют то же самое, и так до бесконечности.

👀 Фракталы встречаются не только в математике, но и в природе. Деревья, папоротники, молнии, речные системы — все это фракталы.

Как построить фрактал:

🔹выбрать простую геометрическую фигуру — аксиому (отрезок, треугольник и тому подобное)
🔹применить к аксиоме правила преобразования, в результате чего получится новая фигура
🔹применить правила преобразования снова, уже к полученной фигуре, а потом еще раз и еще
🔹бесконечное повторение таких преобразований и порождает фрактал

🧐 Более подробно о рекурсии и построении различных фракталов мы расскажем в нашем планируемом курсе «Алгоритмы и структуры данных для продвинутых». Чтобы первым узнать дату выхода и другие подробности, подпишитесь на новости о курсе на нашем сайте.

Ставьте реакцию:

🔥 — если знали раньше о фракталах
👀 — если узнали о них впервые

#алгоритмыдляпродвинутых #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥101👀38❤102👌1💯1👨‍💻1🎄1🆒11
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥119👀48❤12🤔1🎉1🏆1🍾1🤝1
Друзья, принесли отличные новости! 👩‍❤️‍👨

💡 Мы добавили в курс по ООП два абсолютно новых больших модуля:

1⃣ Принципы SOLID ­— пять основных правил объектно-ориентированного программирования, целью которых является написание понятного, гибкого и легко поддерживаемого кода.

2⃣ Паттерны проектирования ­— проверенные временем решения типовых задач.
 
🙂 Оба модуля, как обычно, не просто раскрывают тему: они также содержат историческую справку и тестовые вопросы. В модуле по паттернам к тому же есть задачи на программирование, чтобы закрепить знания.

❤️ Надеемся, что вам понравятся новые темы и совсем скоро вы сможете применять их на практике!

➡️КУПИТЬ КУРС ПО ООП⬅️

Ставьте реакцию:

🔥 — если уже заметили новые модули и начали их проходить
👀 — если вам пока не до этого

#ооп
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤63👀62🔥31👍6👏5❤‍🔥3✍1⚡1🏆1
Друзья, на прошлой неделе наш канал пробил отметку 50 000 подписчиков! 😍

❤️ Каналу«Поколения» примерно три с половиной года. За это время мы опубликовали более 2500 постов.

🐱 Расскажите в комментариях, почему вы читаете наш канал. Любите решать задачки? Читаете познавательные посты? Ищете единомышленников?

👀 В понедельник 28 сентября мы выберем три самые интересные истории и подарим их авторам бесплатный доступ к любому нашему курсу на выбор!

Ставьте реакцию:

🔥 — если вы на канале два года или больше
❤️ — если подписались год назад или около того
👀 — если вы здесь совсем недавно

#конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👀97❤96🔥804👍3💘2❤‍🔥1🎉1👨‍💻1
Друзья, мы готовы подвести итоги конкурса, приуроченного к отметке 50000 подписчиков на канале! 👩‍❤️‍👨

❤️ С интересом прочитали все ваши истории. Не смогли остановиться на трех, поэтому выбрали целых пять победителей!

Бесплатный доступ к курсам получают:

▫️Alexandr Shuvalov и история про Python как общий язык с сыном
▫️Анастасия Филипенко (@AnastaCorvus) и история о новых знаниях как мотивации жить дальше
▫️Тимофей Кузнецов (@timosks) и история о том, как искал медь — нашел золото
▫️И С (@IStarUA) и история о том, что увлечься программированием никогда не поздно
▫️Михаил Крапивин (@mkv_47) и история с нашими любимыми шахматными задачами

⚠️ В ближайшее время свяжемся с победителями, чтобы обсудить получение приза.

🔥 Желаем всем нашим подписчикам и студентам отличной недели и продуктивной учебы!

Ставьте реакцию:

❤️ — если рады за победителей
😈 — если рады, но не от всего сердца

#конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
❤122😈35❤‍🔥8👍4😭2🔥1💘1
Друзья, наши пакеты курсов стали еще выгоднее! 😍

🛍 Только два дня — сегодня и завтра —действуют дополнительные скидки на пакеты курсов:

❤️ 2 курса — 10 900 ₽
❤️ 3 курса — 14 900 ₽
❤️ 4 курса — 19 900 ₽
❤️ 5 курсов — 21 900 ₽

🎁 А еще каждому покупателю пакета отправим подарок:

▫️ 2 курса — программерская футболка
▫️ 3 курса — программерский свитшот
▫️ 4 курса — программерский свитшот + мерчбокс
▫️ 5 курсов — программерский свитшот + футболка

👉 КУПИТЬ КУРСЫ 👈

⭐️ Для получения подарка после покупки пакета напишите нам на почту support@pygen.ru или на @pygen_ru_support

🔔 Напоминаем, что наши курсы доступны бессрочно. Можно купить их сейчас по выгодной цене, а пройти — в любое удобное для вас время.

👀 Если вам нужен нестандартный пакет, который не представлен на нашем сайте, напишите нам на @pygen_ru_support. Мы обязательно поможем!

Ставьте реакцию:

🔥 — если хотите свитшот
❤️ — если футболка круче
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42❤17👍12❤‍🔥2💔1💘1
Друзья, сегодня день релиза новой версии Python 3.15! 😍 Хотим поделиться с вами интересными нововведениями.

1⃣Замороженный словарь. В Python 3.15 будет добавлен новый тип данных frozendict — неизменяемая версия обычного словаря.

2⃣Ленивые импорты (lazy imports). Будет добавлен новый оператор lazy, который указывается перед import или from. Этот оператор сообщает интерпретатору, что импортировать объект нужно только в момент его первого использования.
lazy import math
lazy from operator import add

# модуль math и функция add() еще не импортированы
a = 1
b = 2
print(f'Вычисляем корень квадратный числа {a}')

# модуль math импортируется только здесь
# функция add() еще не импортирована
print(math.sqrt(a))

print(f'Вычисляем сумму чисел {a} и {b}')

# функция add() импортируется только здесь
print(add(a, b))


3⃣Стандартизация сигнальных объектов. Появится новый класс sentinel, экземпляры которого можно использовать в качестве значения по умолчанию в функциях и методах вместо None. Это особенно полезно там, где константа None сама по себе является валидным значением аргумента.
MISSING = sentinel('MISSING')

def foo(value=MISSING):
if value is MISSING:
raise ValueError('Значение не передано')
return value


4⃣Распаковка в comprehensions. Операторы распаковки * и ** теперь можно использовать в list, set и dict comprehensions для распаковки вложенных коллекций.
matrix = [[1, 2], [3, 4], [5, 6]]

# старый вариант
unpacked1 = [x for row in matrix for x in row]

# новый вариант
unpacked2 = [*row for row in matrix]


5⃣Умные сообщения об ошибках. Python научится лучше сообщать об ошибках, связанных с исключением AttributeError. Например, если вы работали на другом языке программирования и привыкли к методу push() для добавления элемента в список, то теперь Python сможет не только сообщать о том, что такого метода не существует, но и подсказать правильный.
AttributeError: 'list' object has no attribute 'push'. Did you mean 'append'?


6⃣ Кодировка UTF-8 по умолчанию. Python теперь всегда использует кодировку UTF-8 для чтения файлов на всех ОС, включая Windows.

Ставьте реакцию:

🔥 — если сразу обновляете Python до последней версии
👀 — если этого не делаете

#python #полезныйматериал
Please open Telegram to view this post
VIEW IN TELEGRAM
👀186🔥68👍23❤1611👏3🏆2
Друзья, мы нашли еще один повод зависнуть в Telegram с пользой! 😎

🎉 На платформе появился шахматный бот. Доска, ходы и управление работают внутри одного сообщения, вам не придется запускать мини-аппы или создавать цепочки диалогов.

✏️ Кто уже попробовал — делитесь опытом в комментариях!

Ставьте реакцию:

🔥 — если любите шахматы
👀 — если еще не оправились от травмы, нанесенной шахматными задачами

#поговорим
Please open Telegram to view this post
VIEW IN TELEGRAM
👀130🔥59❤8❤‍🔥4😭3🤝1
Друзья, принесли вам новое слово недели! 😍

📌 Apache Kafka — распределенная система для передачи и обработки потоков данных в реальном времени между разными системами и приложениями в реальном времени.

👀 Представьте десятки сервисов, которые постоянно генерируют события: пользователь нажал кнопку, оформил заказ, получил уведомление и так далее. Kafka становится промежуточным слоем, через который все эти системы обмениваются данными. Одни сервисы публикуют события, другие читают их в нужный момент, и при этом никто не ждет друг друга и ничего не теряется.

Сценарии использования Kafka:

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

Упрощенно работа Kafka выглядит так:

1️⃣ приложение публикует сообщение
2️⃣ Kafka сохраняет его
3️⃣ одно или несколько приложений читают сообщение

✔️ Kafka ценят за высокую пропускную способность, низкие задержки, отказоустойчивость и хорошую масштабируемость.

🖥 Подробнее почитать o Kafka можно на официальном сайте.

Ставьте реакцию:

🔥 — если уже слышали про Kafka
❤️ — если знали только про писателя Кафку
👀 — если впервые видите это слово

#словонедели
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥123❤65👀293❤‍🔥2💯1👨‍💻1💘1
Друзья, а у нас праздник! Сегодня создателю курсов «Поколения» Тимуру Гуеву исполняется 34 года. 😍

❤️ В честь этого события традиционно дарим нашим студентам скидку 34% на любой наш курс (потому что Тимуру исполняется 34 года).

💡 Скидка применится автоматически при покупке курсов через наш сайт до 9 октября включительно.

😉 В комментариях (или в личных сообщениях @tguev) можно поздравить Тимура с днем рождения и пожелать что-нибудь приятное ему и «Поколению»!

Ставьте 🔥 этому посту, если ждете, когда Тимуру исполнится 100 лет, и на его др курсы будут раздавать бесплатно. 😁

#скидки
Please open Telegram to view this post
VIEW IN TELEGRAM
36🔥307🎉72❤38🤩3🍾3🥰1💯1💘1