Поколение 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
Друзья, в нашем чате часто возникают споры об использовании нейросетей при изучении программирования. 😃

Расскажите в комментариях:

🔘как вам помогал ChatGPT в ходе освоения курсов "Поколения"
🔘какие еще нейросети вы используете при изучении программирования и в других сферах

Ругаться не будем! 😁

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

🔥 — если используете нейросети постоянно
❤️ — если пользуетесь нейросетями только для развлечения
👨‍💻 — если применяете нейросети по работе
👀 — если вообще не любите пользоваться нейросетями

#поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥132👨‍💻100👀58❤3562🌚1
Друзья, разбираем задачу про очень странный тест. 😵‍💫

❤️ Ответ 1 подразумевает, что правильными являются варианты 2 и 6, которые противоречат друг другу. Следовательно, исключаем ответ 1.

❤️Ответ 3 подразумевает, что верен ответ 1, который мы только что исключили. Следовательно, исключаем ответ 3.

❤️ Предположим, что ответ 2 является правильным. Тогда правильным становится и вариант 4, так как ответы 1 и 3 уже исключены. Возникает противоречие вариантов 2 и 4. Следовательно, исключаем ответ 2.

❤️ Так как ответы 1, 2 и 3 ложны, вариант 4 тоже ложный. Исключаем его.

❤️Ответ 5 не противоречит предыдущим выводам, а ответ 6 противоречит, так как подразумевает, что утверждение 5 ложно.

❤️ Следовательно, единственным верным ответом будет вариант 5.

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

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

#разборзадачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥77👍13❤10👀933🎉2❤‍🔥1
Друзья, разбираем задачу на код! 😌

✔️ Приведем одно из возможных решений задачи с применением метода скользящего окна:

def index_of_first_occurrence(s1, s2):
n = len(s1)
m = len(s2)

for window_start in range(n - m + 1):
for i in range(m):
if s2[i] != s1[window_start + i]:
break
if i == m - 1:
return window_start

return -1


В двойном цикле перебираем каждую возможную подстроку длины len(s2) в строке s1 и проверяем, равна ли она s2.

Во внешнем цикле перебираем все возможные начальные позиции окна window_start в строке s1, где строка s2 может поместиться. Во вложенном цикле перебираем каждый символ строки s2 и сравниваем его с соответствующим символом в строке s1:

◽️если символы не совпадают, прерываем цикл с помощью оператора break, так как это означает, что подстрока s2 не совпадает с текущим окном в s1, переходим к следующей позиции окна
◽️если символы совпадают, продолжаем проверку остальных символов
◽️если все символы строки s2 совпали с символами в окне строки s1 (цикл завершился без прерывания), возвращаем индекс начала вхождения, то есть window_start

Если строка s2 не встречается в строке s1, возвращаем значение -1.

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

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

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

#поколениеpython #собеседования #разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
1👾13🔥12❤10👀7👍43👻22❤‍🔥1👏1😁1
Друзья, подводим итоги розыгрыша среди подписчиков! 😎

🍀 Бесплатный доступ к курсу "Поколение Python": ООП получает Сергей Гришин (@bermud11). Поздравляем!

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

☝️☝️☝️☝️ Скоро проведем очередной розыгрыш среди бустеров канала. Стать бустером можно по ссылке.

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

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

#поколениеpython #конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤96😈65😢107🎉4❤‍🔥3👍2🔥22⚡1🤝1
Друзья, разбираем новое слово недели! Вы наверняка обращали внимание, что многие сайты просят вас разрешить сохранять cookie-файлы. Но что это такое и зачем они нужны? 🤔

😎 Cookie-файлы или просто куки — это небольшие текстовые файлы, которые сайты сохраняют в вашем браузере. В них содержится информация, необходимая для корректной работы сайта:

🍪 логин и настройки аккаунта
🍪 содержимое корзины
🍪 предпочтительный язык
🍪 история посещений
🍪 и так далее

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

😆 Почему они называются "cookies"?

В 1970-е годы программисты называли "magic cookie" небольшой фрагмент данных, передаваемый между программами. Это как "печенька", которую одна программа дает другой, чтобы та ее распознала.

В вебе термин "cookie" впервые появился в 1994 году, когда программист Netscape Лу Монтулли использовал его для реализации функции "запоминания" пользователя на сайте.

☝️☝️☝️☝️ Современные браузеры позволяют отказаться от приема cookie-файлов, но это может сделать невозможной работу с некоторыми сайтами. Еще можно автоматически стирать куки при выключении браузера.

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

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

#поколениеpython #словонедели #куки #cookies
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥158👀86❤1254🫡3👍2👏2🥰1
Друзья, принесли вам очередную задачу на развитие логического мышления. 😎

🧠🧠🧠🧠

Однажды вечером на кухне собрались Тимур, Артур младший, а также кот Кемаль и кошка Матеша. Все вместе они решили загадать число, а суровый Валера должен его угадать.🗿

🔸Артур младший сказал: "Это число 9".
🔸Тимур сказал: "Это простое число".
🔸Кошка Матеша сказала: "Это четное число".
🔸Кот Кемаль сказал: "Это число делится на 15".

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

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

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

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

#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
10👀97🔥48❤1875👍3😎2❤‍🔥1💯1👨‍💻1🗿1
Друзья, собрали для вас дайджест публикаций “Поколения” за июнь. Догоняйте, если что-то не успели прочитать!

😵‍💫 ЗАДАЧИ

🔸 Задача про любимое мороженое Тимура и ее разбор
🔸 Задача про последовательность квадратов и ее разбор
🔸 Вопрос с собеседования про метод класса и ответ на него
🔸 Задача на код №1 и ее разбор
🔸 Задача на код №2 и ее разбор
🔸 Задача про треугольники в пятиугольнике и ее разбор
🔸 Задача про поиск верного утверждения и ее разбор

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

🔸 Слово недели. Транзакция
🔸 Слово недели. Интроспекция
🔸 Слово недели. Литерал
🔸 Слово недели. Cookies
🔸 Алгоритмы. Метод скользящего окна
🔸 Алгоритмы. Встреча посередине
🔸 Функция type() в Python
🔸 SQL и БД. Первичные и внешние ключи
🔸 SQL и БД. Связи между таблицами в реляционных базах данных
🔸 Вычислительные операции и операции ввода-вывода в программировании
🔸 Альфа- и бета-тестирование

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

🔸 Системы счисления
🔸 Алгоритм страуса
🔸 Блез Паскаль и его открытия
🔸 Система Pantone и цвета года

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

🔸 Открылся последний модуль в курсе по алгоритмам
🔸 Открылся доступ к квесту в курсе по алгоритмам
🔸 Планы на линейку курсов “Поколения”

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

#поколениеpython #дайджест #июнь2025
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤32👍14🔥94🏆22❤‍🔥1🙏1
Друзья, недавно мы рассказывали о различных системах счисления. А сегодня поговорим о встроенных в Python функциях перевода чисел из одной системы счисления в другую. 😎

🟪 В Python для перевода чисел из одной системы счисления в другую используются следующие встроенные функции:

▫bin() — для перевода чисел из десятичной системы в двоичную. Функция принимает в качестве аргумента целое число и возвращает строку, содержащую двоичную запись этого числа с префиксом 0b:

print(bin(2))    # 0b10
print(bin(5)) # 0b101
print(bin(-25)) # -0b11001


▫oct() — для перевода чисел из десятичной системы в восьмеричную. Функция принимает в качестве аргумента целое число и возвращает строку, содержащую восьмеричную запись этого числа с префиксом 0o:

print(oct(8))    # 0o10
print(oct(12)) # 0o14
print(oct(-58)) # -0o72


▫hex() — для перевода чисел из десятичной системы в шестнадцатеричную. Функция принимает в качестве аргумента целое число и возвращает строку, содержащую шестнадцатеричную запись этого числа с префиксом 0x:

print(hex(16))     # 0x10
print(hex(75)) # 0x4b
print(hex(-1250)) # -0x4e2


▫int() — для перевода чисел из произвольной системы в десятичную. Функция принимает два аргумента в следующем порядке:

➖value — целое число, вещественное число или строка, содержащая целое число. Является необязательным аргументом
➖base — основание системы счисления, в которой записано содержащееся в value число. Указывается только в том случае, если value является строкой. Может равняться числу от 2 до 36 включительно. По умолчанию равняется 10

При передаче строки и основания системы счисления функция int() переводит число, содержащееся в этой строке, из системы с указанным основанием в десятичную и возвращает полученное целое число:

print(int('101', 2))    # 5
print(int('145', 7)) # 82
print(int('359', 10)) # 359
print(int('F42E', 16)) # 62510
print(int('GEEK', 21)) # 154664


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

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

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

#поколениеpython #системысчисления
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥79👀53❤173❤‍🔥2✍2👍2😎22🌚1
Друзья, у нас отличные новости для всех, кто планирует пройти курс по алгоритмам этим летом! Принесли вам дополнительную мотивацию. 😁

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

🍀 Как поучаствовать в акции:

➖пройти курс по алгоритмам на 80% или более
➖написать развернутый положительный отзыв
➖прислать ссылку на отзыв к нам в бот

👩‍❤️‍👨 Если вы еще не купили курс по алгоритмам для начинающих, это можно сделать на нашем официальном сайте по ссылке.

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

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

#поколениеpython #мерч #курспоалгоритмам #акция
Please open Telegram to view this post
VIEW IN TELEGRAM
26🔥97👀29❤1643💘2⚡1😢1🤩1😈1
Друзья, сегодня поговорим о том, почему важно знать паттерны проектирования! 😉

📌Паттерн проектирования — это часто встречающееся решение определенной проблемы при проектировании архитектуры кода.

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

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

📌Зачем знать паттерны проектирования?

Мы можем вполне успешно программировать, не зная ни одного паттерна проектирования. Более того, программист может использовать какой-то из паттернов, даже не подозревая об этом. Однако осознанное владение инструментом отличает профессионала от любителя. 😎

Итак, паттерны проектирования — это:

〰Проверенные решения. Мы тратим меньше времени, используя готовые решения вместо повторного изобретения велосипеда.

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

〰Общий программистский словарь. Мы произносим название паттерна вместо того, чтобы долго объяснять другим программистам структуру и назначение своего кода.

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

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

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

#поколениеpython #полезныйматериал #python
Please open Telegram to view this post
VIEW IN TELEGRAM
25👀149🔥2816❤8👍3⚡2👨‍💻22✍1👾1
Друзья, студенты нашего курса по алгоритмам наверняка заметили, что в конце каждого урока мы добавили глоссарии. 😎

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

❗️ Расскажите в комментариях, как вы относитесь к такому нововведению. Оказалось ли оно вам полезно, или вы пролистываете его не глядя?

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

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

#поколениеpython #курсы #глоссарий
Please open Telegram to view this post
VIEW IN TELEGRAM
52🔥216❤12👀12👍1063🏆2🆒2👏1🍾1
Друзья, давайте разберем задачу и поможем суровому Валере угадать число! 😁

1️⃣ Предположим, что Артур младший сказал правду: загадано число 9. Тогда ошиблись оба кота: число 9 нечетное и не делится на 15.

2️⃣ Следовательно, из людей правду говорит Тимур: загаданное число — простое. Простое число не может делиться на 15, то есть кот Кемаль тоже обманывает. Значит, правду говорит кошка Матеша: загаданное число — четное.

3️⃣ Единственное простое четное число — 2. Оно и было загадано. 😎

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

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

#разборзадачи #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥85👀20❤105👨‍💻4😇2👾22
Друзья, приглашаем поучаствовать в розыгрыше для бустеров нашего телеграм-канала! 😎

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

📖 книгу "Начинаем программировать на Python" Тони Гэддиса
🎁 фирменный мерчбокс от "Поколения"

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

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

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

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

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

#поколениеpython #буст #розыгрыш
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥84👀57🥰66❤53💯2👏1😁1
🚒 Друзья, сегодняшнее слово недели — файерволл. Разберемся, что это такое и зачем он нужен.

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

🔥 Основные задачи файерволла:

➡️ Защита от несанкционированного доступа, то есть блокировка попыток удаленного взлома

➡️ Фильтрация вредоносного трафика: вирусов, троянов и других угроз

➡️ Контроль сетевой активности: например, запрет подозрительным приложениям делиться данными

➡️ Разделение сетей. В корпоративной среде файерволлы часто используются для отделения внутренней сети от публичного интернета

🔥 Почему файерволл так называется?

Изначально firewall или брандмауэр — это огнеупорная перегородка, предотвращающая распространение огня. В ИТ это слово по аналогии означает цифровую "защитную стену", которая останавливает угрозы, прежде чем они проникнут в систему.

☝️☝️☝️☝️ Файерволл не заменяет антивирус, а работает в тандеме с ним, обеспечивая многослойную защиту.

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

🔥 — если знали, зачем нужен файерволл
👀 — если узнали об этом впервые

#поколениеpython #словонедели #файерволл
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥108👀72❤106👍2✍11
Друзья, сегодня решаем задачу про игральный кубик. 🎲

У Тимура есть нестандартный кубик, на его гранях — числа от 1 до 6. Тимур бросил кубик дважды.

▫️В первый раз сумма чисел на четырех боковых гранях оказалась равна 12
▫️Во второй раз сумма чисел на четырех боковых гранях была равна 15

А какое число у этого кубика будет на грани, противоположной той, где расположена цифра 3? 😵‍💫

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

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

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

#задача #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
1👀72🔥26❤83👍1👏1💯1🆒11
Друзья, вы наверняка слышали о том, что одно полушарие нашего мозга отвечает за логику, а другое — за творчество. Но правда ли это? 🤔

💡 В 1960–70-х годах нейропсихологи исследовали пациентов с рассеченным мозолистым телом — это структура, которая соединяет правое и левое полушария мозга. Такие операции делали при тяжелой эпилепсии.

👁 Ученые обнаружили, что при разделении полушарий возникают интересные эффекты:
например, предмет, увиденный только левым глазом (обрабатывается правым полушарием), не назывался, но распознавался на ощупь. Из этого сделали вывод, что левое полушарие отвечает за речь, а правое — за визуальные образы.

↘️ Журналисты, а затем и маркетологи свели открытие до удобного стереотипа: левое = аналитик, правое = художник.

🔥 Современные исследования мозга показывают: почти все когнитивные процессы задействуют оба полушария.

🤩 Музыка: одно полушарие анализирует ритм, другое — мелодию
🤩 Язык: преимущественно левое полушарие, но правое участвует в интонации и понимании контекста
🤩 Математика: логика — слева, визуализация формул — справа

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

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

👀 — если считали этот миф правдой
❤️ — если относились к нему скептически

#поколениеpython #япознаюмир #мозг
Please open Telegram to view this post
VIEW IN TELEGRAM
❤160👀49🔥16👍97🥰3👏22😁1🗿1
Друзья, продолжаем решать задачи с собеседований! 😍

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

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

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

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

data = [1, 4, 1, 3, 1, 2]
move_min_elements(data)
print(data) # [1, 1, 1, 4, 3, 2]


data = [1]
move_min_elements(data)
print(data) # [1]


data = [5, -2, 7, -6, 3, -6, 13]
move_min_elements(data)
print(data) # [-6, -6, 5, -2, 7, 3, 13]


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

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

❤️ — если считаете, что задачи на собесах показывают реальные навыки
👀 — если считаете, что это просто стресс-тест

#поколениеpython #собеседования #задачанакод
Please open Telegram to view this post
VIEW IN TELEGRAM
11❤41👀2395😱3👍1
Друзья, сегодня поговорим про объединение результатов запросов в языке SQL. 😌

❤️ Одной из возможностей SQL является объединение нескольких результатов запросов в один результирующий набор. Для этого используется оператор UNION. Он указывается между запросами, результаты которых нужно объединить.

Схематично объединение двух результатов запросов можно представить следующим образом:

SELECT <имя поля 1>, <имя поля 2>
FROM <имя таблицы 1>

UNION

SELECT <имя поля 1>, <имя поля 2>
FROM <имя таблицы 2>

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

❤️ Чтобы объединить результаты произвольного количества запросов, а не только двух, необходимо указать оператор UNION между всеми запросами, результаты которых требуют объединения.

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

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

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

🚨🚨⚠️🚨☝️ Подробно об операторе UNION рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.

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

🔥 — если знали об операторе UNION в SQL
👀 — если слышите о нем впервые

#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥59👀33❤11✍3👍1
Друзья, мы завершили работу над курсом "Алгоритмы и структуры данных для начинающих". 😍

🛍 Купить курс можно на нашем сайте по ссылке.

Это наш самый большой курс на данный момент. Он включает 92 урока, 1180 тестов и 635 задач на программирование. 😵‍💫

‼️ Самое интересное:

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

🤑🤑🤑🤑 В честь завершения работы над курсом дарим скидку 2000 рублей на все курсы по промокоду ТВОЙАЛГОРИТМ при покупке на сайте "Поколения". 🤑 C ней любой курс будет стоить 4900 рублей вместо 6900.

☝️☝️☝️☝️ Доступно всего 0️⃣ активаций промокода, так что не откладывайте покупку!

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

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

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

#поколениеpython #алгоритмы #акция #скидки
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥152❤16🤯7❤‍🔥4👀3👍2👏2🥰1💯11
Друзья, в октябре этого года выходит версия Python π 3.14. Хотим рассказать о том, что в ней нового! 😎

✅ Python стал еще быстрее. Обновившись до новой версии, можно увеличить прирост производительности своих программ до 30%.

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

Приведенный ниже код:
s = set()
seq = [1, 2, 3]
s.add(seq)


в Python 3.13 приводит к возбуждению исключения:
 TypeError: unhashable type: 'list'


в Python 3.14 приводит к возбуждению исключения:
 TypeError: cannot use 'list' as a set element (unhashable type: 'list')


✅ Аннотации больше не вычисляются немедленно. Это происходит по мере необходимости с помощью специальных функций. Такое изменение призвано сделать работу с аннотациями более быстрой и удобной.

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

✅ При обработке нескольких типов исключений в одном блоке except убрали необходимость заключать исключения в скобки.

Приведенный ниже код:
try:
raise ValueError
except TypeError, ValueError:
print(‘Исключение обработано’)


в Python 3.13 приводит к возбуждению исключения:
SyntaxError: multiple exception types must be parenthesized


в то время как в Python 3.14 выводит:
Исключение обработано


✅ При использовании в блоке finally одного из операторов return, break или continue теперь всплывает предупреждение SyntaxWarning.

✅ Появится новый вид строк — t-строки. В отличие от f-строк, которые сразу подставляют значения в соответствующие заполнители, t-строки хранят их отдельно и позволяют изменять в процессе формирования строки. Этот вид строк создан с целью обеспечения большей безопасности, например, при формировании HTML-кода или SQL-запросов.

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

🟢 в новой версии модули unittest и calendar научились выводить цветной текст
🟢 появился параметр strict у функции map(), который может запретить обрабатывать коллекции разного размера
🟢 был улучшен экспериментальный режим без GIL
🟢 значительно обновлен Python C API

Ознакомиться со всеми изменениями Python 3.14 можно в документации по ссылке.

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

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

#поколениеpython #python #python314
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥139👀91❤209👍55✍3