Поколение 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
Друзья, перед выходом нового курса мы обновили правила сообщества "Поколения", которые касаются общения в комментариях под нашими курсами на платформе Stepik. 😎

Краткая версия новых правил сообщества:

🟣 Разрешены только комментарии, связанные с программированием, курсом и изучением Python.

🟣 Запрещены оскорбления, нецензурная лексика, унижение других студентов, модераторов и авторов курса.

🟣Запрещено публиковать в любой форме решения задач на форуме комментариев и просить их у других студентов или модераторов.

🟣Критика содержания курса, теории или задач допустима только в вежливой форме и с веской аргументацией.

🟣В комментариях допускаются только ссылки на Stepik и проверенные учебные материалы (документация, статьи, обучающие видео).

🟣Запрещено продвигать другие курсы, услуги, каналы и любые другие сторонние продукты без согласования с авторами и модераторами курса.

📢 Вводится бессрочный бан на всех курсах "Поколения" для тех, кто повторно нарушил правила после завершения временного бана.

☝️☝️☝️☝️ Ознакомиться с полной версией правил можно по ссылке.

⚠️ Кстати, в чате нашего телеграм-канала тоже есть правила. Они закреплены в описании и выглядят так:

Запрещены: оскорбления, мат, спам, флуд, реклама, религия, политика, контент 18+.


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

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

#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥113👀48👍10😢66😱4❤3👏2🙏1👌1💯1
Друзья, ранее мы рассмотрели тип bytes, представляющий байтовые строки в Python. Сегодня поговорим об изменяемом аналоге байтовых строк — типе bytearray. 😎

📎Объекты типа bytearray представляют собой байтовые массивы. Процесс их создания довольно прост: необходимо создать экземпляр класса bytearray, конструктор которого принимает в качестве аргументов произвольную строку и кодировку.

Приведенный ниже код:
s = 'Beegeek'
byte_array = bytearray(s, encoding='utf-8')

print(byte_array)
print(type(byte_array))


выводит:
bytearray(b'Beegeek')
<class 'bytearray'>

📎Объектам типа bytearray, как и объектам типа bytes, доступны почти все методы обычных строк (тип str). Однако байтовые массивы, будучи изменяемыми, поддерживают и списочные методы (тип list).

Приведенный ниже код:
s = 'Beegeek'
byte_array = bytearray(s, encoding='utf-8')

byte_array = byte_array.upper()
print(byte_array)
byte_array.extend(b'beegeek')
print(byte_array)


выводит:
bytearray(b'BEEGEEK')
bytearray(b'BEEGEEKbeegeek')

😉 Работа с объектами типа bytes и bytearray может быть выгодной с точки зрения памяти. Графическое представление символов в обычной строке часто занимает гораздо больше памяти, чем их байтовое представление.

Почитать подробнее о типе bytearray можно по ссылке.

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

🔥 — если знали о типе bytearray
👀 — если узнали о нем впервые

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#python #полезныйматериал
Please open Telegram to view this post
VIEW IN TELEGRAM
👀70🔥19👍93❤2🥰2⚡1
Друзья, принесли вам интересный и полезный контент на выходные! 😍

👏 В новом выпуске подкаста "Стать специалистом по машинному обучению" его автор и друг "Поколения" Михаил Крыжановский обсудил с Тимуром Гуевым:

🌱почему программирование — это не про быстрые хорошие деньги
🌱бывают ли ненужные знания
🌱как соревноваться с ChatGPT в решении задач
🌱 спасут ли хорошие алгоритмы плохой продукт
🌱и многое другое!

☝️☝️☝️☝️ Михаил Крыжановский — предприниматель и Python-разработчик. Его проекты:

➡️ подкаст о машинном обучении
➡️ телеграм-канал "Стать специалистом по машинному обучению"
➡️курс "Телеграм-боты на Python и aiogram"
➡️курс "Телеграм-боты на Python: продвинутый уровень"

⏰⏰⏰⏰⏰⏰⏰ На ютуб-канале "Поколения" есть интервью с Михаилом, которое мы записали в прошлом году. Рекомендуем к просмотру, если еще не видели!

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

🔥 — если узнали о проектах Миши от "Поколения"
❤️ — если впервые прочитали о Мише в других источниках

#поколениеpython #интервью #подкаст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63❤3110👍3✍1⚡1💯1🆒1👾1
Друзья, большинство из вас быстро догадалось, что все картинки из нашей загадки изображают фреймворки Python:

🤠 Django
🔺 Pyramid
🍒 Cherry Py

Все они предназначены для создания веб-приложений.

⏰⏰⏰⏰⏰⏰⏰⏰ В этом посте мы подробно рассказывали о том, что такое фреймворки.

Какие фреймворки вы использовали в своей работе? Расскажите в комментариях!

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

🔥 — если использовали хотя бы один из фреймворков с картинки
👀 — если только слышали об этих фреймворках, но не пользовались ими

#поколениеpython #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
👀107🔥4612👍4❤3💯2🤔1🌚1
Друзья, запускаем новый розыгрыш для бустеров нашего телеграм-канала! 😍

Победителей определим 13 апреля. Великий рандом выберет счастливчика, который получит:

📖 книгу "Python. Справочник. Полное описание языка"
🎁 фирменный мерчбокс от "Поколения"

Забустить наш канал можно по ссылке:

🔗 https://t.me/pygen_ru?boost

Ваши голоса позволяют продолжать развивать наше сообщество и делать еще больше интересных и полезных материалов. ❤️

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

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

#поколениеpython #буст #розыгрыш
Please open Telegram to view this post
VIEW IN TELEGRAM
59🔥102👀66🥰7👍443❤‍🔥1😱1👨‍💻1🙈1🙉1
Друзья, а вот и новое слово недели! Сегодня поговорим о том, что такое backend. 😎

📌 Бэкенд (Backend) представляет собой работу мобильного или веб-приложения, скрытую от пользователя.

Backend работает на сервере, на котором размещается приложение. Пользователи взаимодействуют с визуальной frontend-частью приложения, а backend-часть обрабатывает запросы от frontend-части и возвращает обратно ответы.

✔️ Backend можно писать практически на любом языке программирования. Например, Python включает множество фреймворков для реализации backend-части приложений — Django, Flask, FastAPI и другие.

📌 Backend приложений является сложной и многогранной областью разработки, требующей глубоких знаний различных технологий. Успешные backend-разработчики должны уметь проектировать надежные архитектуры, обеспечивать безопасность данных и оптимизировать производительность приложений.

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

🔥 — если знали, что такое backend
👀 — если слышите этот термин впервые

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥215👀29👍1043🤩2❤1❤‍🔥1🤷‍♂1
Друзья, мы снова принесли вам задачу на последовательность! 😉

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

😁 Хорошая новость: сложные математические вычисления здесь не потребуются.

Пишите свои ответы в комментариях, не забывая прятать их под скрытым текстом.

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

🔥 — если любите задачи на последовательности
👀 — если предпочитаете другие виды задач

#задачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥66👀28👍1144😱1
Друзья, 7 апреля отмечают неофициальный, но очень значимый для всех нас праздник — День рунета. 😍

В этот день в 1994 году был зарегистрирован домен .ru. Так Россия стала официально представлена в интернете.

📚 Среди первых сайтов в зоне .ru была знаменитая Библиотека Мошкова — она существует до сих пор, хотя и редко пополняется новыми книгами.

😮 Сегодня домен .ru находится на 6 месте в мировом топе: на нем зарегистрировано более 5,8 млн доменных имен второго уровня. Впереди только международные .com, .net и .org, а также домены Великобритании и Германии.

🔘Статистику по доменным зонам можно почитать по ссылке.

Сейчас ежемесячная аудитория Рунета достигла 100 млн человек. Чаще всего россияне посещают поисковики Яндекс и Google.

🤔🤔🤔🤔🤔🤔🤔 Вот здесь доступна небольшая веб-игра об истории Рунета, созданная Школой Бюро Горбунова в 2022 году.

⚠️ А вы помните, когда впервые воспользовались интернетом? Поделитесь своими историями в комментариях!

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

❤️ — если помните звук диалап-модема
👀 — если даже не знаете, что такое диалап-модем

#поколениеpython #япознаюмир #рунет
Please open Telegram to view this post
VIEW IN TELEGRAM
❤87👀57🔥105😱22🍾1👨‍💻1🤗1🆒1💘1
Друзья, продолжаем рубрику "Задачи с собеседований"! 😍

🤣😀😆😀😛😀
😊😊😊😊😊😊😊
Реализуйте функцию max_to_min(), которая принимает один аргумент:

🟢nums – список целых чисел (1 ≤ len(nums) ≤ 10⁶)

Функция должна изменять список nums так, чтобы все его максимальные элементы были заменены на минимальные.
😊😊😊😊😊😊😊

Примеры тестовых данных:

data = [1, 2, 1]
max_to_min(data)
print(data) # [1, 1, 1]


data = [3, 3, 3]
max_to_min(data)
print(data) # [3, 3, 3]


data = [-2, 4, 2, 5]
max_to_min(data)
print(data) # [-2, 4, 2, -2]


🤩Пишите свой ход рассуждений и решения в комментариях, не забывая прятать их под скрытым текстом. 😉

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

❤️ — если любите применять алгоритмы на практике
👀 — если предпочитаете теоретические вопросы о них

#поколениеpython #собеседования #задачанакод
Please open Telegram to view this post
VIEW IN TELEGRAM
❤531110🔥4👀4👍2😁2🆒2👏1
Друзья, сегодня поговорим о сортировке подсчетом.

📎 Сортировка подсчетом — это алгоритм сортировки набора данных по неубыванию или по невозрастанию. Основным его назначением является сортировка неотрицательных целых чисел, находящихся в небольшом диапазоне.

✔️ Принцип работы алгоритма сортировки подсчетом можно разделить на два этапа:

➖На первом этапе алгоритм определяет, сколько раз каждый элемент сортируемого набора встречается в нем. Для этого алгоритм использует вспомогательный список, изначально заполненный нулями:

[0, 0, 0, 0, 0, ...]


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

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

[3, 4, 0, 2, 1, ...]


то это означает, что число 0 в сортируемом наборе встречается 3 раза, число 1 – 4 раза и так далее.

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

⬆️ Классическая реализация сортировки подсчетом — это алгоритм, который сортирует список неотрицательных целых чисел по неубыванию путем его изменения.

При сортировке набора данных длины n алгоритм сортировки подсчетом сначала перебирает все n элементов сортируемого набора, чтобы определить количество вхождений каждого из них. Затем на основе полученных результатов алгоритм формирует отсортированный набор. Для этого он перебирает целые числа от 0 до m включительно, где m — максимальный элемент сортируемого набора, и те числа, которые встречались в наборе, указывает столько раз, сколько они встречались.

📎 Таким образом, временнáя сложность алгоритма сортировки подсчетом равна O(n + m), где n — длина набора данных, а m — величина его максимального элемента.

☝️☝️☝️☝️ Курс по алгоритмам уже стартовал, и многие студенты "Поколения" активно приступили к прохождению. Вы можете присоединиться к ним, купив курс на нашем официальном сайте.

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

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

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

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#поколениеpython #курспоалгоритмам
Please open Telegram to view this post
VIEW IN TELEGRAM
👀33🔥2110👍9✍33❤2❤‍🔥1😁1
Друзья, а вы помните, что можно получить скидку на покупку курса, если оставить отзыв на другой платный курс "Поколения"? 😎

🔘 1 отзыв — скидка 20%
🔘 2 отзыва — скидка 25%
🔘 3 отзыва — скидка 30%

Так что если хотите скидку на курс по алгоритмам, ее очень легко получить: просто оставьте отзывы ко всем предыдущим платным курсам. 😁

🔘 Оставить отзыв на курс для профессионалов
🔘 Оставить отзыв на курс по ООП
🔘 Оставить отзыв на курс по SQL

⚠️ Подробнее об этой и другой скидках можно узнать на сайте "Поколения".

☝️☝️☝️☝️ Вы могли заметить, что у курса по алгоритмам уже есть отзывы. Их оставили тестировщики курса — самые активные из наших студентов.

Как стать тестировщиком "Поколения":

🔘 быть активным и прилежным студентом
🔘 оставлять конструктивные комментарии и отзывы
🔘 помогать другим студентам на форуме Stepik

Все это повышает шансы, что мы пригласим вас в команду тестировщиков! Так вы получите бесплатный ранний доступ к новым курсам "Поколения". 😉

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

🔥 — если оставили отзывы ко всем пройденным курсам "Поколения"
👀 — если не любите писать отзывы

#поколениеpython #отзывы #скидка
Please open Telegram to view this post
VIEW IN TELEGRAM
👀27🔥237👏6❤33👍2✍1
Друзья, разберем задачу с собеседований!

Данную задачу можно решить несколькими способами. Приведем один из них: 🙂

def max_to_min(nums):

min_value = min(nums)
max_value = max(nums)

for ind, num in enumerate(nums):
if num == max_value:
nums[ind] = min_value


Здесь мы определяем минимальный и максимальный элементы списка с помощью функций min() и max().

Далее в цикле проходим по всем элементам списка. Очередной элемент сравниваем с максимумом и, если они совпадают, меняем его на минимум.

⬇️ Как вы думаете, какова временнáя и пространственная сложность данного алгоритма? Пишите в комментариях. 😉

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

🔥 — если задача показалась вам легкой
👀 — если пришлось основательно подумать над решением

#поколениеpython #собеседования #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥49❤8👀86👍5👏4💋11
Друзья, сегодня поговорим о строковых константах встроенного в Python модуля string. 😌

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

🟣строковых методов isdigit(), isalpha() и других
🟣таблицы символов Unicode и функции ord()
🟣регулярных выражений (встроенный модуль re)

✔Еще один способ решения подобных задач заключается в использовании строковых констант модуля string, которые представляют собой готовые наборы различных символов. Рассмотрим некоторые из них.

Приведенный ниже код:
import string

print(string.digits)
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.punctuation)


выводит:
0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

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

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

🔥 — если знали о строковых константах модуля string
👀 — если узнали о них впервые

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#python #полезныйматериал #string
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥99👀82👍122❤1🎉11
Друзья, все мы с вами любим Stepik. Но наверняка за время пользования платформой у вас появились идеи о том, как сделать его еще лучше и удобнее. Или вы подсмотрели какую-то удобную фичу в другом приложении и подумали: "А было бы здорово, если бы на Stepik она тоже была!". 😉

Напишите в комментариях, какую новую фишку вы хотели бы увидеть на платформе Stepik и почему? 🧑‍🎓

☝️☝️☝️☝️Самые интересные предложения запишем и передадим разработчикам Stepik! 😎

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

❤️ — если Stepik — ваша любимая платформа для обучения
👀 — если есть на примете другие интересные сервисы

#поколениеpython #stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤185👀13🥰53🔥22👍1🤯1
Друзья, разберем задачку про последовательность чисел. 😉

✔️ В приведенной последовательности выписаны целые числа, начиная с 10, а запятые расставлены через каждые 3 цифры. Таким образом, следующее число последовательности — 192.

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

🔥 — если решили задачу быстро
👀 — если пришлось поломать голову

#разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
👀58🔥369❤7👍6🤔44🥰2🎉2🤣1
Друзья, подводим итоги розыгрыша среди бустеров нашего канала! 😍

Великий рандом выбрал победителем @SashkaGonec
Она получит подарок от "Поколения":

🔘 суперполезную книжку "Python. Справочник. Полное описание языка"
🔘фирменный мерчбокс от "Поколения"

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

Забустить канал "Поколения" можно по ссылке:

🔗 https://t.me/pygen_ru?boost

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

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

#поколениеpython #буст #розыгрыш
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥56😈23👍76👏43✍2❤1😁1
Друзья, возвращаемся к вам с новым словом недели! Сегодня поговорим об интегрированных средах разработки (IDE). 😎

💙Интегрированная среда разработки (IDE, Integrated Development Environment) — это мощный инструмент, который предоставляет программистам все необходимые средства для разработки, тестирования и отладки ПО в одном приложении.

IDE объединяет в себе несколько инструментов, которые помогают упростить процесс создания программ. Приведем некоторые из них:

🩷редактор кода: включает подсветку синтаксиса, автодополнение кода и проверку ошибок в реальном времени

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

🩷отладчик: инструмент для поиска и исправления ошибок в коде

🩷интеграция с системами контроля версий: позволяет управлять изменениями в коде

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

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

💙Наиболее популярной IDE для разработки на языке Python является PyCharm.

🩷Помимо IDE для написания программ могут использоваться редакторы кода, такие как Visual Studio Code. Это более легкие инструменты, которые не имеют полного набора функций, доступных в IDE. Однако редакторы кода поддерживают различные плагины и расширения, позволяющие гибко настраивать среду для полноценной разработки ПО.

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

🔥 — если за IDE
❤️ — если за редакторы кода

🔝🔝🔝Сохраняйте пост в избранное, точно пригодится! ✍🏻

#словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥153❤70143😍2❤‍🔥1👍1👨‍💻1🫡1🆒1
Друзья, сегодня решаем задачу про "угадайку". 😉

Артур старший сказал Тимуру:
— Если я сейчас загадаю любое трехзначное число, то оно с вероятностью 5% будет делиться на 25.

Тимур ответил:
— Неправда. Вероятность того, что твое число будет делиться на 25, не больше 1%.

Так кто же прав: Артур или Тимур? 😵‍💫

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

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

🔥 — если легко считаете проценты в уме
👀 — если приходится брать калькулятор

#поколениеpython #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥55👀32👍65❤2💯22❤‍🔥1🙈1
Друзья, вы наверняка слышали про DDOS-атаки и читали о том, как какой-то сайт “заддосили”. А что это значит? 🤔

🚩DoS-атака (с одной буквой D) расшифровывается как "Denial of Service", то есть “отказ в доступе”. Это онлайн-атака, которая призвана заставить сайт не отвечать на запросы пользователя. Она идет с одного сервера и нацелена на один конкретный домен или виртуальную машину. Такую атаку легко подавить брандмауэром.

Авторы атаки посылают множество ложных запросов на сервера, и когда к сайту пытается подключиться настоящий посетитель, сайт замедляется или совсем перестает отвечать, выдавая ошибку 500 Internal Server Error.

🚩🚩 DDoS-атака (с двумя буквами D) распределена между несколькими системами отправки запросов, поэтому добавляется слово "distributed" — “распределенная”. Чем больше хостов, тем труднее предотвратить воздействие. Для атаки используются сети из обычных компьютеров, которые заражены специальными программами.

❤️Первая DDoS-атака произошла в 1996 году: ее объектом стала компания Panix, один из старейших интернет-провайдеров в мире.

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

🔥 — если знали, что такое DDoS-атаки
👀 — если прочитали об этом впервые

#поколениеpython #япознаюмир #ddos
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥172👀118👍11❤65❤‍🔥33✍1👏1😁1🤯1
Друзья, а вот и новая задача с собеседований! 😌

🤩🤩🤩🤩🤩🤩
🤩🤩🤩🤩🤩🤩🤩
Реализуйте функцию max_consecutive_elements(), которая принимает один аргумент:

⏺s — строка (0 ≤ len(s) ≤ 10⁶)

Функция должна возвращать максимальное количество идущих подряд одинаковых символов в строке s.
🤩🤩🤩🤩🤩🤩🤩

Примеры тестовых данных:

print(max_consecutive_elements(''))  # 0


print(max_consecutive_elements('bee'))  # 2


print(max_consecutive_elements('python'))  # 1


🤩Пишите свой ход рассуждений и решения в комментариях, не забывая прятать их под скрытым текстом. 😉

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

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

#поколениеpython #собеседования #задачанакод
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45👀13133👍2