Поколение 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
Друзья, давайте разберем задачу про количество способов прочитать имя "Гена". 😎

Двинемся по рядам сверху вниз и на каждом будем считать количество способов попасть от буквы Г к текущей букве:

❇️к буквам Е: 1 к левой и 1 к правой
❇️к буквам Н: 1 к левой букве, 2 к центральной, 1 к правой
❇️к буквам А: 1 к левой, 3 ко второй слева, 3 ко второй справа и 1 к правой

✔️ Суммируем количество способов в последнем ряду и получаем 1 + 3 + 3 + 1 = 8 способов прочитать имя "Гена".

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

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

#разборзадачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥71👀54❤159221
Друзья, собрали для вас дайджест публикаций “Поколения” за август. Врываемся в осень с новыми знаниями!

😵‍💫 ЗАДАЧИ И ТЕСТЫ

😁Задача про коров на лугу и ее разбор
😘Вопрос с собеседований и ответ на него
😘Задача про количество задач, решенных в разных городах, и ее разбор
😁Задача про загадывание натуральных чисел и ее разбор
😘Тест. Что покажет код
😘Тест. Выбор подходящего типа данных
😘Тест. Ключевое слово для остановки цикла

⚠️ ПОЛЕЗНЫЕ МАТЕРИАЛЫ

😁Базы данных и SQL. Представления
😘Базы данных и SQL. CRUD
😘Базы данных и SQL. Подзапросы
😁Алгоритмы и структуры данных. Очередь
😘Алгоритмы и структуры данных. Дек
😘Что такое скрипт
😁Что такое GIL в Python
😘Что такое парсинг
😘Представления словарей в Python
😘Что означает ошибка IndexError: list index out of range

😎 ПОЗНАВАТЕЛЬНЫЕ ПОСТЫ

😁Ошибки в математических терминах
😘Зачем нужно код-ревью
😘Что такое HTTP
😁Тим Бернерс-Ли — человек, который создал интернет

👩‍❤️‍👨 НОВОСТИ “ПОКОЛЕНИЯ”

😘С 10 сентября вырастут цены на курсы
😘В сентябре стартует квест для программистов
😁Ответы на вопросы от Тимура Гуева: как понять, нравится ли программирование, и можно ли начать карьеру программиста после 40 лет
😘Ответ на вопрос от Тимура Гуева про сложности при изучении программирования
😘Количество задач в курсах “Поколения”
😁Бесплатные уроки в курсах для профи и ООП

Ставьте ❤️ и сохраняйте пост в избранное, чтобы ничего не пропустить!

#дайджест #август2025 #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
2❤31👍11652💋1😭1👾1
12999❤2🤩1
Выберите вариант ответа
Anonymous Quiz
3%
24
15%
36
80%
18
2%
16
663520🤣7😭5❤3👍3👨‍💻1
Друзья, сегодня наш с вами общий праздник — День знаний. Поздравляем вас и делимся пожеланиями от команды "Поколения"! 🥳

Тимур:
Друзья, с Днём знаний. Желаю вам ровного пути в достижении поставленных целей. Помните, быстро — это медленно, но без перерывов.


Артур старший:
Друзья, поздравляю всех с Днем знаний! Не ленитесь и не бойтесь трудностей. Помните, что знания открывают перед нами новые возможности.


Артур младший:
С 1 сентября! Желаю, чтобы каждая трудная задача была для вас интересным вызовом, а не поводом для грусти!


Антон:

Дорогие студенты Поколения, поздравляю вас с 1 сентября! Желаю вам в новом учебном году не только получить много полезных знаний, но и научиться применять их на практике.


Валера:
Поздравляю с Днем знаний! Помните: всё зависит от вас. Никого не слушайте и уверенно идите к намеченной цели! И не забудьте перевернуть календарь послезавтра.


Пишите в комментариях свои пожелания команде и студентам "Поколения"! 👇

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

🔥 — если по вашим внутренним часам год начинается 1 сентября
❤️ — если ваш внутренний год совпадает с календарным

#поколениеpython #сднемзнаний
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥115❤81💯119🎉7👻3👾3💔2🆒111
Друзья, сегодня поговорим про обобщенные табличные выражения. 😉

📌 Обобщенное табличное выражение (или CTE, Common Table Expressions) — это временная таблица, к которой можно обращаться в рамках одного запроса. Для простоты CTE можно считать именованным подзапросом, который определен отдельно от основного запроса. Использование CTE позволяет писать сложные запросы в более читаемой форме, разбивая их на небольшие логические шаги.

Для написания запросов с использованием CTE предназначен оператор WITH со следующим синтаксисом:

WITH <имя CTE> AS (
<извлекающий запрос, определяющий содержимое CTE>
)

<основной запрос, который может обращаться к CTE>


Как видно из шаблона выше, чтобы воспользоваться CTE, ему необходимо дать имя, по которому к нему можно будет обращаться, а затем определить его содержимое. Обратите внимание: определение CTE не отделяется от основного запроса точкой с запятой, поскольку вся конструкция (определение CTE и основной запрос) воспринимается как одно целое.

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

⚠️ После оператора WITH допустимо определить несколько CTE. Для этого достаточно перечислить их определения через запятую. Если блок WITH включает определение нескольких CTE, то их создание выполняется последовательно: сначала первое, затем второе, и так далее. Таким образом, во время определения очередного CTE все определенные ранее CTE уже являются созданными, поэтому каждое следующее определенное CTE может ссылаться на любое предыдущее.

☝️☝️☝️☝️ CTE является обычной таблицей, поэтому с ней допустимо выполнять любые необходимые операции: извлекать данные, фильтровать и сортировать, объединять с другими таблицами, представлениями или CTE.

⏰⏰⏰⏰⏰⏰⏰ Подробнее рассказываем о CTE в курсе "Базы данных и SQL". Его можно купить на нашем сайте pygen.ru.

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

🔥 — если умеете использовать CTE
👀 — если еще не применяли CTE на практике

#CTE #sql #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1👀82🔥5410❤5👍221
Друзья, в ходе изучения Python вы наверняка встречали странные слова foo и bar в примерах функций и переменных. Откуда они вообще взялись и зачем их используют? 😮

💬 foo, bar — это заглушки, то есть имена-заполнители, которые используются в примерах кода, когда нам неважно, что именно делает функция или переменная. Например:

def foo(bar):
return bar + 1


Здесь foo и bar — просто абстрактные имена. Главное — понять структуру кода, а не суть названий.

🔥 Считается, что эти слова произошли от аббревиатуры времен Второй мировой, популярной среди военных: FUBAR — Fucked Up Beyond All Recognition (попорчено до неузнаваемости).

⁉️ Почему именно foo, bar?

🟡короткие, легко печатаются
🔵нейтральные: ничего не значат и не отвлекают от сути кода
🟡 это традиция — их используют уже десятки лет

В больших примерах кода встречаются и другие популярные слова-заглушки: baz, qux и так далее. В курсах "Поколения" ту же функцию часто выполняют слова bee и geek. 😉

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

🔥 — если используете foo и bar
❤️ — если встречали их, но сами не используете
👀 — если впервые прочитали эти слова

#япознаюмир #поколениеpython #foobar
Please open Telegram to view this post
VIEW IN TELEGRAM
❤198👀16118🔥7😁33👍21
Друзья, принесли вам отличную рекомендацию для просмотра на выходных! 😎

🖥 Совсем недавно вышла целая документалка про историю создания Python: от небольшого проекта из Амстердама до одного из ведущих языков программирования.

В фильме Гвидо ван Россум и другие значимые для истории Python люди рассказывают:

🤩 о развитии Python
🤩 о конфликтах, едва не разрушивших весь проект
🤩 о влиянии языка на... ну... всё

📺 Смотрим по ссылке на YouTube или по ссылке в ВК!

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

🔥 — если знаете историю создания Python
👀 — если не интересовались этой темой

#поколениеpython #чтопосмотреть #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👀113🔥3920❤10👍87🥰111
Друзья, продолжаем публиковать ответы на ваши вопросы от Тимура Гуева, автора курсов "Поколение Python". 😍

❓ Нормально ли то, что во время решения задач я не вижу легких путей и всегда решаю через какие-то дебри? На курсе для продвинутых мой код постоянно оказывается более сложным и большим, чем код преподавателей или решения других студентов. Плохо ли это?


👩‍❤️‍👨 То, что вы описали — абсолютно нормально и даже полезно на конкретном этапе обучения.

В начале лучше "идти в дебри" и писать подробно, чем пытаться искусственно сокращать код и в итоге ничего не понять в собственном решении. Постепенно, с опытом, вы начнете замечать определенные закономерности и способы упростить код. Это естественный процесс. У каждого разработчика есть свой стиль, и он формируется постепенно.

♥️♥️♥️♥️♥️♥️

♥️ После того, как решили задачу своим способом, разберите чужое решение. Не для того, чтобы сравнить, у кого "правильнее" или короче, а чтобы увидеть больше приемов, которые можно забрать в свою копилку.

♥️Попробуйте переписать свой код второй раз — теперь максимально коротко, используя новые идеи. Очень важно именно писать решение самому, а не просто посмотреть и успокоиться, что вы все поняли. Без практики новые приемы не закрепятся.

⚠️ И помните: чем больше задач вы решите, тем лучше!

А вы расстраивались, сравнивая свой код с эталонными решениями? Расскажите в комментариях! ✏️

⏰⏰⏰⏰⏰⏰⏰ Задать свой вопрос Тимуру можно через нашего бота @pygen_ru_bot.

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

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

#ответнавопрос #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥134👀62❤2243⚡2👍22
Друзья, а вот и новое слово недели! Сегодня поговорим про тестирование. 🧑‍💻

✍️ Тестирование — это проверка, в результате которой будет определено, соответствует ли приложение заданным требованиям и работает ли оно правильно.

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

Этапы тестирования:

✅ анализ и проработка требований к приложению
✅ планирование тестирования
✅ разработка тестовых данных
✅ настройка тестовой среды
✅ выполнение тестов
✅ завершение тестирования

🚨 На последнем этапе должна быть сформирована уверенность в том, что приложение полностью протестировано и готово к выпуску.

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

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

🔥 — если знали об этапах тестирования
👀 — если узнали о них впервые

#тестирование #словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👀53❤7👾733👨‍💻22⚡1👍11
Друзья, сегодняшнюю задачу решаем в уме — развиваем пространственное мышление. 😎

🎲 У кота Кемаля есть классический игральный кубик и поле в клеточку. На поле Кемаль нарисовал путь, который должен пройти кубик. Один шаг кубика — это поворот вдоль той грани, которая соприкасается со следующей клеткой пути.

❓ Какая грань будет наверху кубика в конце его пути? Не забудьте спрятать ответ под скрытым текстом.

❗️ У классического игрального кубика шесть граней с числами от 1 до 6. Числа на противоположных сторонах кубика в сумме дают 7: 1 напротив 6, 2 напротив 5, 3 напротив 4.

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

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

#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
👀88🔥839❤652👌1💔1👨‍💻1
Друзья, сегодня разбираемся, что такое Tor и зачем он нужен. 😎

🔍 Каждый пользователь оставляет в интернете цифровые следы: IP-адрес, местоположение, данные о браузере. Большинство сайтов это видят и анализируют. Tor — это способ спрятаться от этого отслеживания.

🧅 Tor (сокращение от The Onion Router, то есть "Луковый роутер") — это сеть, которая позволяет анонимно выходить в интернет, скрывая ваш IP-адрес и местоположение.

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

🌑 Tor даёт доступ к .onion-сайтам — это ресурсы, которые не индексируются поисковиками и доступны только через Tor-браузер. Среди них есть как легальные проекты, так и сомнительные — например, черные рынки или форумы с незаконным содержанием.

❗️Минусы Tor:

➡️ низкая скорость из-за многослойной передачи данных
➡️ некоторые сайты блокируют трафик из Tor
➡️ полной анонимности нет, если сам пользователь совершает ошибки (например, логинится в свои аккаунты)

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

🔥 — если знали, что такое Tor
👀 — если знали только Тора с картинки

#поколениеpython #tor
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥193👀121👾65👍44❤‍🔥3😁1🤩1🆒11
Какое из этих имен переменных недопустимо в Python?
Anonymous Quiz
54%
6bee9
15%
_beegeek
2%
geek_
2%
bee_geek_69
25%
_
2%
bee
5843👨‍💻2113👍7❤4⚡1🤗1👾1
Друзья, давайте поговорим про битовые операции. 😵‍💫

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

Битовые операции делятся на две группы: логические побитовые операции и битовые сдвиги. Сегодня речь пойдет о первой из них.

🧠 Логические побитовые операции:

1. NOT (~A) — побитовое отрицание — инвертирует каждый бит числа.

Результатом операции ~35 является число 28:
35 = 100011₂ ➝ 011100₂ = 28

2. AND (A & B) — побитовое И — результирующий бит будет равен 1, если оба соответствующих бита равны 1.

Результатом операции 12 & 10 является число 8:
12 & 10 = 8 ➝ 1100₂ & 1010₂ = 1000₂

3. OR (A | B) — побитовое ИЛИ — результирующий бит будет равен 1, если хотя бы один из соответствующих битов равен 1.

Результатом операции 12 | 10 является число 14:
12 | 10 = 14 ➝ 1100₂ | 1010₂ = 1110₂

4. XOR (A ^ B) — побитовое исключающее ИЛИ — результирующий бит будет равен 1, если соответствующие биты разные.

Результатом операции 12 ^ 10 является число 6:
12 ^ 10 = 6 ➝ 1100₂ ^ 1010₂ = 0110₂

📌 Полезные свойства логических побитовых операций:

- A & A = A, A | A = A, A ^ A = 0
- A & 0 = 0, A | 0 = A, A ^ 0 = A
- A ^ 11..1₂ = ~A, где 11..1₂ — это двоичное число, состоящее из такого же количества единиц, сколько цифр в двоичной записи числа A

💡 Применение побитовых операций:

🟡 проверка четности: если A & 1 == 0, то A четное, иначе — нечетное
🟡 проверка степени двойки: если A & (A - 1) == 0, то A степень 2
🟡 сравнение чисел: если A ^ B == 0, то числа равны

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

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

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

#полезныйматериал #алгоритмы #битовыеоперации #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
57🔥64👀6210❤9👍4322
Друзья, хотим похвастаться: глоссарии появились во всех курсах "Поколения"! 😍

📖 Глоссарий — это раздел, в котором приводится краткое содержание основных моментов урока. Он помогает быстро повторить пройденное.

✏️ Сначала мы добавили глоссарии в курс по алгоритмам для начинающих. А опрос среди студентов показал, что это полезный инструмент, который нужен практически всем. Так что мы решили сделать ваше обучение еще удобнее!

✅ Отныне глоссарии будут во всех курсах: и в ранее вышедших, и в планируемых.

Какие еще усовершенствования вы хотели бы видеть в курсах "Поколения"? Пишите в комментариях! ⬇️

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

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

#поколениеpython #курсы #глоссарий
Please open Telegram to view this post
VIEW IN TELEGRAM
94🔥239👀49❤27👍10🤩543🆒2💯11
Выберите вариант ответа
Anonymous Quiz
46%
512
47%
64
2%
72
5%
128
😱88🔥30😁2318👍888🤯4❤3⚡2❤‍🔥2
Друзья, давайте рассмотрим способы форматирования строк в Python. 🖥

Часто при написании кода Python требуется представить объект определенным образом или включить значения каких-либо выражений внутрь строки. Для этого можно воспользоваться форматированием строк.

Python поддерживает три способа форматирования строк.

💜 Оператор % появился первым и был заимствован из языка C, на котором написан основной интерпретатор Python. Поэтому его иногда называют форматированием в стиле С.

Для форматирования с помощью оператора % необходимо слева от оператора указать строку с заполнителями %s, а справа — подставляемые в нее значения.

Приведенный ниже код:
name = 'James'
surname = 'Bond'

result = 'My name is %s, %s %s' % (surname, name, surname)
print(result)


выводит:
My name is Bond, James Bond


Символ s в заполнителе обозначает представление подставляемого значения в формате строки. Мы можем использовать и другие форматы представления, например, d для целых чисел, f для вещественных чисел, r для формального строкового представления объекта и так далее.

💜 Строковый метод format() пришел на смену оператору %. Это более удобный и гибкий способ форматирования строк. Он возвращает копию строки, в которой каждый заполнитель {} заменяется строковым представлением соответствующего аргумента.

Приведенный ниже код:
name = 'James'
surname = 'Bond'

result = 'My name is {}, {} {}'.format(surname, name, surname)
print(result)


выводит:
My name is Bond, James Bond


😥 Основной недостаток метода format() — избыточность кода в случаях, когда требуется подставить в строку большое количество значений.

💜 В Python 3.6 появился новый способ форматирования строк — f-строки (formatted string literals, f-strings). F-строка представляет собой строку с префиксом 'f' или 'F', которая может содержать заполнители {}. F-строки без заполнителей, как правило, не имеют практического смысла, поскольку ведут себя так же, как обычные строки.

Если f-строка содержит заполнители, то в каждый из них помещаются переменные или выражения, значения которых объединяются со строковой частью f-строки.

Приведенный ниже код:
name = 'James'
surname = 'Bond'

result = f'My name is {surname}, {name.upper()} {surname.upper()}'
print(result)


выводит:
My name is Bond, JAMES BOND


😍 Начиная с Python 3.6 для форматирования строк рекомендуется использовать f-строки.

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

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

🔥 — если пользуетесь f-строками
❤️ — если знаете об этом способе только в теории
👀 — если не слышали раньше об f-строках

#полезныйматериал #fstring #курсдлясамураев #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
51🔥218❤43👀23774❤‍🔥1🙏1😎11
Друзья, а вы тоже забываете проверять электронную почту, а потом ужасаетесь количеству непрочитанных писем? 😁

Напишите в комментариях, сколько непрочитанных писем на вашей почте прямо сейчас! Выясним, кто больше всего любит откладывать ответы.

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

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

#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥165👀859❤7🆒22❤‍🔥1😁111