Поколение 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
Выберите вариант ответа
Anonymous Quiz
25%
произойдет ошибка
38%
2458
4%
1
33%
77
😎53🤯282396👍5🔥3😱3👌2🤔1
Друзья, сегодня поговорим о функциях даты и времени в SQL. 🖥

🗓 С помощью функций даты и времени можно получить текущую дату или время, выполнять арифметические операции с датой и временем, извлекать интересующую информацию и многое другое.

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

👀 К функциям даты и времени относятся:

1️⃣ NOW(), CURDATE() и CURTIME() используются для получения текущей даты и времени в локальном часовом поясе
2️⃣ UTC_TIMESTAMP(), UTC_DATE() и UTC_TIME() используются для получения текущей даты и времени в UTC, то есть нулевом часовом поясе.
3️⃣ MAKEDATE() и MAKETIME() используются для создания даты и времени.
4️⃣ DATE() и TIME() используются для получения даты и времени из даты и времени
5️⃣ HOUR(), MINUTE(), SECOND() и MICROSECOND() используются для определения количества часов, минут, секунд и микросекунд во времени
6️⃣ YEAR(), MONTH() и DAY() используются для извлечения значения года, месяца и дня из даты
7️⃣ DAYOFYEAR(), WEEK() и WEEKDAY() используются для вычисления номера дня в году, номера недели в году и номера дня недели
8️⃣ DAYNAME() и MONTHNAME() используются для вычисления названия дня недели и названия месяца на основе даты
9️⃣ ADDDATE() и SUBDATE() используются для прибавления и вычитания временного интервала из даты и времени
1️⃣0️⃣ ADDTIME() и SUBTIME() используются для прибавления и вычитания временного значения из даты и времени
1️⃣1️⃣ DATEDIFF() используется для вычисления разницы в днях между двумя значениями даты и времени
1️⃣2️⃣ TIMEDIFF() используется для вычисления разницы во времени между двумя значениями даты и времени
1️⃣3️⃣ TIMESTAMPDIFF() используется для вычисления разницы между двумя значениями даты и времени в определенных единицах измерения
1️⃣4️⃣ TIMESTAMP() используется для объединения даты и временного значения
1️⃣5️⃣ DATEFORMAT() и TIMEFORMAT() используются для форматирования даты и времени

Почитать подробнее о функциях для работы с датой и временем можно по ссылке.

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

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

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

#функциидатыивремени #sql #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
👀74🔥28❤9💔4222
Друзья, осень — время учебы и ярких носочков. Поэтому объявляем конкурс! ☘️

🎁 Бесплатный доступ к любому курсу "Поколения" и 5 пар ярких носочков получит наш студент, который приведет больше всего новых подписчиков в канал.

😄😀😀😀😃😃😀:

*️⃣ перейдите по ссылке в бот конкурса
*️⃣ получите у бота вашу уникальную пригласительную ссылку в наш канал
*️⃣ пригласите как можно больше людей, которым интересно ИТ, программирование, математика и решение задач

🎁 Итоги конкурса подведем 31 октября!

🚩 😀😀😀😃😄

Все наши подписчики — наши студенты, люди, которые интересуются программированием. Помните об этом при рассылке пригласительных ссылок. Зовите тех, кому это будет по-настоящему полезно! 👩‍❤️‍👨

📢 Если у вас возникли проблемы с ботом конкурса — пишите в комментариях, поможем разобраться!

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

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

#конкурс #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥67👀5712❤114👍3🏆2🍾11
Друзья, сегодня речь пойдет об операторе match-case. 😉

📌 Оператор match-case появился в Python 3.10 и используется для сопоставления структурных шаблонов.

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

⚡️ Оператор match-case состоит из одного оператора match и одного или нескольких операторов case.

🔘Аргументом оператора match является произвольное выражение Python
🔘Аргументом оператора case является шаблон, с которым сопоставляется аргумент оператора match

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

Приведенный ниже код:
s = 'geek'

match s:
case 'bee':
print('Строка bee')
case 'geek':
print('Строка geek')


выводит:
Строка geek


В первую очередь Python вычисляет значение выражения, указанного в качестве аргумента оператора match, а затем сопоставляет это значение с каждым шаблоном. Если совпадение будет найдено, выполнится блок кода соответствующего оператора case.

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

Приведенный ниже код:
s = 'pygen'

match s:
case 'bee':
print('Строка bee')
case 'geek':
print('Строка geek')
case _:
print('Строка, отличная от bee и geek')


выводит:
Строка, отличная от bee и geek


Шаблон _ используется для захвата значения аргумента оператора match и никогда не бывает ложным. Но его нельзя использовать в блоке кода оператора case. Если все же необходимо использовать захваченное значение, вместо _ можно использовать любое другое имя, которое является корректным для переменных Python.

Приведенный ниже код:
s = 'pygen'

match s:
case 'bee':
print('Строка bee')
case 'geek':
print('Строка geek')
case default:
print(default)


выводит:
pygen


☝️☝️☝️☝️ Шаблоны захвата всегда указываются в самом конце после всех остальных шаблонов и в единственном экземпляре, в противном случае будет возбуждено исключение SyntaxError.

Помимо строк оператор match-case также позволяет использовать в качестве шаблона объекты других базовых типов данных. Однако не с каждым из них происходит сравнение на равенство: константы True, False и None сравниваются на идентичность.

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

🔥 — если использовали оператор match-case на практике
❤️ — если знаете об этом операторе, но не применяли его
👀 — если впервые узнали об операторе match-case

#matchcase #полезныйматериал #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👀110❤82🔥48👍5432👏1
Друзья, некоторым пословицам явно требуется актуализация, чтобы они больше подходили к нашей реальности. 😁

А как бы вы продолжили: "Не имей сто рублей, а имей сто..."?

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

🔥 — если вам и старый вариант нравится
❤️ — если точно нужен новый

#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥86❤721172❤‍🔥1⚡1🥰1😁1👾1
Друзья, давайте разберем задачу про часы. 🕙

1️⃣ Заметим, что искомый угол состоит из двух углов. Правый найти легко: каждый сектор часов, отделенный пунктирной линией, составляет 90°, а минутная стрелка отделяет две трети этого сектора. То есть правая часть угла составляет 60°.

2️⃣ С левой частью угла сложнее: здесь стрелка не указывает на конкретное число. Но поскольку у нас 20 минут восьмого, то стрелка прошла треть расстояния между 7 и 8 часами , то есть 30 : 3 = 10°. Получается, левая часть угла составляет 30 + 10 = 40°.

3️⃣ Сложим правую и левую части искомого угла и получим 60 + 40 = 100°. ⏱

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

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

#разборзадачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103👀37❤6552👍1🏆1😎1
Какой ученый впервые использовал в своих работах двоичную систему, которая используется во всех современных компьютерах?
Anonymous Quiz
20%
Чарльз Бэббидж
41%
Готфрид Вильгельм Лейбниц
14%
Ада Лавлейс
25%
Джон фон Нейман
5👍4127🔥1295❤4👏4🤯2💋1🤝1🆒1
Ответ к тесту 🔼
Please open Telegram to view this post
VIEW IN TELEGRAM
668❤14👍11🔥84😢22👏1💋1
Друзья, а вот и новое слово недели. Сегодня поговорим про контекстные менеджеры в Python. 😎

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

Контекстные менеджеры особенно полезны там, где нужно гарантировать освобождение ресурса, даже если в процессе работы произошла ошибка:

🔵 работа с файлами
🟢 работа с базами данных
🔵 сетевые соединения
🟢 временные изменения настроек

📝 Пример работы с файлом:
with open('data.txt') as file:
text = file.read()
# Файл гарантированно будет закрыт


Приведенный выше код эквивалентен выполнению следующего:
file = open('data.txt')
try:
text = file.read()
finally:
file.close()


Чтобы объект работал с with, он должен реализовать протокол контекстного менеджера, то есть иметь два метода:

1️⃣ __enter__() — вводит контекст, вызывается перед началом выполнения блока кода внутри конструкции with. Он может выполнять любые подготовительные действия и возвращать значение, которое будет присвоено переменной после ключевого слова as

2️⃣ __exit__() — предоставляет выход из контекста, вызывается по завершении блока кода внутри конструкции with. Он отвечает за освобождение ресурсов, обработку возникающих исключений или выполнение других завершающих операций

☝️☝️☝️☝️ Подробнее о контекстном менеджере мы рассказываем в курсе по ООП. Его можно купить на нашем сайте pygen.ru.

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

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

#контекстныйменеджер #словонедели #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👀42115❤4✍2⚡2👍2💋1🗿11
Друзья, очередной понедельник — очередная задача! 😁

У кота Кемаля есть множество чисел 9; 10; 13; 23; 40. Он хочет вписать одно из этих чисел в закрашенный кружочек на картинке так, чтобы на всех сторонах пятиугольника суммы трех чисел были одинаковы.

❓ Какое число из этого множества нужно вписать Кемалю в желтый кружок?

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

UPD. Спасибо всем, кто заметил ошибку в формулировке! Поправили. 👩‍❤️‍👨

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

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

#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
4👀73❤46🔥426🤷‍♀331
Друзья, вы когда-нибудь задумывались, как выглядела первая в истории компьютерная игра? 🧐

📜 В 1958 году, задолго до появления Tetris или Pac-Man, американский физик Уильям Хигинботам создал игру Tennis for Two ("Теннис для двоих").

🩵 Игра была реализована на аналоговом компьютере Donner Model 30
🩵 Вместо кода — электронные схемы и уравнения движения мяча
🩵 Логика игры задавалась с помощью электрических сигналов, ведь языков программирования еще не существовало
🩵 Ход игры выводился на экран осциллографа — прибора, показывающего колебания сигнала

Уильям Хигинботам хотел сделать интереснее экскурсии по Брукхейвенской национальной лаборатории. Он создал игру в качестве интерактивной демонстрации возможностей вычислительной техники. 🏓

Игра быстро стала популярной среди посетителей лаборатории — и с этого момента началась история игровой индустрии. 💻

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

🔥 — если слышали про Tennis for Two
👀 — если узнали о ней впервые

#поколениеpython #япознаюмир #компьютерныеигры #игроваяиндустрия
Please open Telegram to view this post
VIEW IN TELEGRAM
👀210🔥49🤯732❤1👍11
Друзья, принесли вам новый вопрос с собеседований! 😌

Что такое синхронный и асинхронный код? Приведите примеры обоих видов кода

🤍 Ответы на вопрос пишите в комментариях! 😍

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

🔥 — если уже пробовали проходить собесы в ИТ
❤️ — если еще на пути к этой цели

#поколениеpython #собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
❤145🔥339👏551
Друзья, сегодня расскажем про триггеры в SQL. 😉

✏️ Триггер — это запрос, который автоматически выполняется во время применения операций INSERT, DELETE или UPDATE по отношению к определенной таблице. Например, триггер, ассоциированный с оператором DELETE по отношению к условной таблице Table, будет выполняться всякий раз, когда из этой таблицы будут удаляться записи.

💡 Общий шаблон для создания триггера имеет следующий вид:
DELIMITER //
CREATE TRIGGER <имя триггера>
<время срабатывания триггера> <операция, которая вызывает триггер>
ON <имя таблицы>
FOR EACH ROW
BEGIN
<тело триггера>;
END //
DELIMITER ;


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

Уровень доступа определяется типом триггера:

🟡BEFORE INSERT
🟣AFTER INSERT
🟡BEFORE UPDATE
🟣AFTER UPDATE
🟡BEFORE DELETE
🟣AFTER DELETE

Триггеры применяются для самых разных задач, например:

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

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

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

🔥 — если знали все о триггерах в SQL
👀 — если знаете только триггеры в реальной жизни

#триггеры #sql #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
👀66🔥32❤54👍333
Друзья, а вы заметили, что скидки на курсы "Поколения" за оставленные отзывы выросли? 😎

Чтобы получить скидку, теперь можно оставить отзыв на любой курс, в том числе на бесплатные. Размер скидок следующий:

❤️15% — за один отзыв
❤️20% — за два отзыва
❤️25% — за три отзыва
❤️30% — за четыре отзыва
❤️35% — за пять отзывов
❤️40% — за шесть отзывов

😍 Таким образом, студенты, которые прошли все наши вышедшие курсы и оставили к ним отзывы, смогут купить запланированные курс "Алгоритмы для продвинутых" и курс для самураев с максимальной скидкой 🚩🚩🚩!

Оставить отзывы на курсы можно по ссылкам:

🟢курс для начинающих
🟢курс для продвинутых
🟢курс для профессионалов
🟢курс по ООП
🟢курс "Базы данных и SQL"
🟢курс "Алгоритмы и структуры данных для начинающих"

☝️☝️☝️☝️ Воспользоваться скидкой можно при покупке курсов через сайт "Поколения".

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

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

#поколениеpython #курсы #скидки
Please open Telegram to view this post
VIEW IN TELEGRAM
👀103🔥268⚡6❤554👍2💯1🎅1
Друзья, отвечаем на вопрос с собеседований. 😎

⭐️ Синхронный код выполняется последовательно, один за другим, и блокирует выполнение других задач до его завершения. Это означает, что если у вас есть функция, которая занимает много времени на выполнение, и вы вызываете ее в основной программе, то выполнение программы заблокируется до завершения этой функции.

📌 Пример синхронного кода в Python — фрагмент с циклом for, обрабатывающим список элементов:

items = [1, 2, 3, 4, 5]
for item in items:
print(item)


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

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

⭐️ Асинхронный код — подход к написанию кода, который позволяет выполнять несколько задач одновременно в рамках одного процесса за счет использования асинхронных функций и корутин. В отличие от синхронного кода, асинхронный код может запустить несколько задач параллельно и организовать их выполнение с помощью итераций и вызовов коллбеков.

📌 Пример асинхронного кода — использование библиотеки asyncio для запуска нескольких задач одновременно и ожидания их завершения:

import asyncio

async def hello():
await asyncio.sleep(1)
print("Hello")

async def world():
await asyncio.sleep(2)
print("World")

async def main():
await asyncio.gather(hello(), world())

if __name__ == '__main__':
asyncio.run(main())


➡️ Мы определяем 3 асинхронные функции: hello(), world() и main(). Функции hello() и world() печатают соответствующие сообщения и ждут 1 и 2 секунды соответственно. Функция main() запускает эти две функции одновременно с помощью asyncio.gather() и ждет, пока они завершат свою работу. Затем мы запускаем функцию main() с помощью asyncio.run(). В результате мы получим сообщения "Hello" и "World", каждое через 1 и 2 секунды соответственно, при этом результаты двух задач были получены почти одновременно.

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

🔥 — если знали ответ на этот вопрос
👀 — если было полезно почитать ответ

#собеседование #python
Please open Telegram to view this post
VIEW IN TELEGRAM
👀133🔥52❤14❤‍🔥1162🤝1🙊11
Друзья, подводим итоги очень страшного конкурса! 👻

🥳 Поздравляем победителя @MSupernaturalS! Она получит набор тематических носочков из нашего магазина мерча и бесплатный доступ к любому курсу "Поколения".

📌 Свяжемся с победителем в ближайшее время, чтобы обсудить выбор курса и доставку приза.

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

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

#конкурс #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
29🔥53👀40❤10👍3👻3322
Друзья, детей часто пугают разными страшилками: бабайка, монстр под кроватью, призраки и вампиры... 😨

Становясь взрослыми, мы перестаем бояться этих баек. Но появляются новые страхи, которые детям неведомы:

😬 счета от стоматолога
😭 трое маленьких детей у соседей сверху
😳 внезапное осознание, что ближайшие сорок лет нужно ходить на работу

Какие еще страшилки для взрослых вы знаете? Пишите варианты в комментариях!

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

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

#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81👀59😁663❤2😢2🫡22😈1👻1
Друзья, давайте разбираться с задачей про пятиугольник с числами. 😑

1️⃣ Заполним пустые ячейки на сторонах пятиугольника буквами от a до e. Сумму трех чисел на каждой стороне пятиугольника обозначим за х.

2️⃣ Получаем следующие равенства:

7 + 3 + a = x
a + 1 + b = x
b + 6 + c = x
c + 2 + d = x
d + e + 7 = x


3️⃣ Из первых двух сторон пятиугольника выразим a:

a + 1 + b = b + 6 + c
a = b + 6 + c - 1 - b
a = 5 + c

4️⃣
Далее выразим d через третью и пятую стороны пятиугольника:

c + 2 + d = x
d = x - c - 2
d = (7 + 3 + a) - c - 2
d = 8 + a - c

5️⃣
Подставляем значение a и находим:

d = 8 + (5 + c) - c
d = 13


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

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

#разборзадачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
👀66🔥39❤10542🤔1
Друзья, публикуем дайджест постов канала “Поколение Python” за октябрь! Наливаем горячий чаёк или кофе и читаем. ☕️

😵‍💫 ЗАДАЧИ

🔸Задача про шалости кота Кемаля и ее разбор
🔸Графическое уравнение и его разбор
🔸Задача про часы со стрелками и ее разбор
🔸Задача про пятиугольник с числами и ее разбор
🔸Вопрос с собеседований про недостатки Python и ответ на него
🔸Вопрос с собеседований про модули collections и itertools и ответ на него
🔸Вопрос с собеседований про синхронный и асинхронный код и ответ на него
🔸Тест №1
🔸Тест №2
🔸Тест №3
🔸Тест №4

🧔‍♂️ ПОЛЕЗНЫЕ МАТЕРИАЛЫ

🔸Слово недели. Протокол
🔸Слово недели. Дескриптор
🔸Слово недели. Контекстный менеджер
🔸Python. Операторы global и nonlocal
🔸Python. Иерархия числовых типов данных
🔸Python. Оператор match-case
🔸Алгоритмы и структуры данных. Битовые сдвиги
🔸Алгоритмы и структуры данных. Ручной перевод в десятичную систему счисления
🔸SQL. Числовые функции
🔸SQL. Функции даты и времени
🔸SQL. Триггеры

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

🔸Теория поколений: как отличить бумера от миллениала?
🔸Что такое фишинг
🔸Почему язык Fortran используется до сих пор
🔸Первая компьютерная игра в истории

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

🔸Новая коллекция мерча в магазине “Поколения”
Все бесплатные уроки в нашем курсе по базам данных и SQL
🔸Шпаргалки к нашим курсам от студентов “Поколения”
🔸Опрос про планируемый курс “Английский для ИТ-специалистов”
🔸Выросли скидки за отзывы на курсы “Поколения”
🔸Павел Хошев запустил сервис аналитики курсов Stepik

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

#октябрь2025 #дайджест #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
58❤41❤‍🔥97🎄5👍42🔥1🤗11