ch
Feedback
Реальный Python

Реальный Python

前往频道在 Telegram

Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter

显示更多
3 654
订阅者
-124 小时
-27
-1530
帖子存档
🐍 Как использовать Claude Code для разработки и отладки проектов на Python Real Python опубликовал подробное руководство по
🐍 Как использовать Claude Code для разработки и отладки проектов на Python Real Python опубликовал подробное руководство по работе с Claude Code — консольным ИИ-инструментом, который запускается непосредственно в каталоге проекта. В отличие от браузерных чат-ботов, Claude Code может: 🔹 изучать структуру проекта и содержимое файлов; 🔹 создавать и редактировать код; 🔹 показывать изменения в формате diff; 🔹 запускать команды и тесты; 🔹 искать и исправлять ошибки; 🔹 работать с Git и создавать коммиты. В руководстве предлагается с нуля разработать на Python консольный менеджер контактов. Сначала Claude Code составляет план и структуру приложения, затем генерирует код, проверяет его работу и пишет тесты. После этого инструмент используют для анализа уже существующего проекта и исправления найденных проблем. Отдельное внимание уделено безопасному рабочему процессу: ✅ запускать Claude Code только внутри каталога проекта; ✅ начинать сложные задачи в режиме Plan; ✅ хранить требования к проекту в файле CLAUDE.md; ✅ проверять каждый diff перед применением; ✅ запускать тесты после изменений; ✅ регулярно создавать коммиты, чтобы иметь возможность отката. Для работы потребуется платная подписка Claude либо учётная запись Anthropic Console с подключённой оплатой API. https://realpython.com/how-to-use-claude-code/ #python 👉 @python_real

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24

🔴 Завтра тестовое собеседование на Middle Python с разработчиком из Авито Уже завтра вечером в 19:00 по мск приходи онлайн н
🔴 Завтра тестовое собеседование на Middle Python с разработчиком из Авито Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Дане Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🐍 Интерфейсы в Python: когда ABC уже недостаточно? В Python нет привычных интерфейсов, как в Java или C#, но это не значит,
🐍 Интерфейсы в Python: когда ABC уже недостаточно? В Python нет привычных интерфейсов, как в Java или C#, но это не значит, что их нельзя использовать. На практике разработчики применяют несколько подходов — от обычного duck typing до абстрактных базовых классов (abc) и современных Protocol из модуля typing. Что важно знать: 🔹 Duck typing — классический подход Python. Если объект реализует нужные методы, значит, он подходит, независимо от наследования. 🔹 ABC (Abstract Base Classes) — позволяют явно определить набор обязательных методов. Если наследник не реализует их, создать экземпляр класса не получится. 🔹 Protocol — современный способ описывать интерфейсы без наследования. Особенно полезен при использовании статической проверки типов (mypy, Pyright и др.). Код становится гибче, а зависимости между классами — слабее. 💡 Когда что использовать? * Небольшие проекты — достаточно duck typing. * Средние и крупные проекты — ABC помогает избежать ошибок реализации. * Современные кодовые базы с type hints — чаще всего лучший выбор Protocol, который не требует наследования и отлично сочетается с IDE и статическими анализаторами. Если вы до сих пор считаете, что интерфейсов в Python нет, возможно, вы просто ещё не познакомились с Protocol. https://realpython.com/python-interface/ #python 👉 @python_real

Метод format в Python для строк — мощный инструмент, поддерживающий множество возможностей, о которых вы, возможно, даже не знали. Каждый заменяемый плейсхолдер ({...}) может содержать три части: имя поля, преобразование и спецификацию формата. Имя поля используется для указания, какой именно аргумент должен быть подставлен:

>>> '{}'.format(42)
'42'
>>> '{1}'.format(1, 2)
'2'
>>> '{y}'.format(x=1, y=2)
'2'
Преобразование позволяет указать, что вместо str() следует использовать repr() (или ascii()) при преобразовании объектов в строки:

>>> '{!r}'.format(datetime.now())
'datetime.datetime(2018, 5, 3, 23, 48, 49, 157037)'
>>> '{}'.format(datetime.now())
'2018-05-03 23:49:01.060852'
Спецификация формата задаёт, как значения будут представлены:

>>> '{:+,}'.format(1234567)
'+1,234,567'
>>> '{:>19}'.format(1234567)
'            1234567'
Эта спецификация может быть применена и к отдельному объекту с помощью функции format (не метода str):

>>> format(5000000, '+,')
'+5,000,000'
Функция format вызывает метод __format__ объекта, поэтому вы можете изменить его поведение для своих типов. #python 👉 @python_real

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП

🔍Тестовое собеседование на Middle Python с разработчиком из Яндекса сегодня вечером Уже сегодня вечером в 19:00 по мск прихо
🔍Тестовое собеседование на Middle Python с разработчиком из Яндекса сегодня вечером Уже сегодня вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Хачатур, старший разработчик в Яндексе, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Хачатур будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Хачатуру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🐍 SOLID принципы в Python: Фундамент чистого кода Хотите писать код, который легко поддерживать, тестировать и масштабироват
🐍 SOLID принципы в Python: Фундамент чистого кода Хотите писать код, который легко поддерживать, тестировать и масштабировать? Тогда вам точно стоит внедрить в свои проекты принципы SOLID. Это «золотой стандарт» объектно-ориентированного программирования, который отлично ложится и на Python. 🔹 S - Single Responsibility (Принцип единственной ответственности) У класса должна быть только одна причина для изменения. Не делайте «божественные объекты», которые умеют всё. Разделяйте логику: один класс управляет файлами, другой - сжимает их в zip. 🔹 O - Open-Closed (Принцип открытости/закрытости) Сущности (классы, модули) должны быть открыты для расширения, но закрыты для модификации. Хотите добавить новую фигуру? Не переписывайте старый класс, а создайте новый, наследуясь от абстракции. 🔹 L - Liskov Substitution (Принцип подстановки Барбары Лисков) Объекты подклассов должны заменять объекты родительских классов без поломки кода. Если Square наследуется от Rectangle, он должен вести себя как прямоугольник во всех ситуациях (спойлер: это часто вызывает проблемы). 🔹 I - Interface Segregation (Принцип разделения интерфейса) Клиенты не должны зависеть от методов, которые они не используют. В Python это решается через создание узкоспециализированных абстрактных классов или протоколов (Protocols), вместо одного огромного интерфейса. 🔹 D - Dependency Inversion (Принцип инверсии зависимостей) Модули верхних уровней не должны зависеть от модулей нижних уровней. Оба должны зависеть от абстракций. Используйте dependency injection, чтобы код был гибким. 👉 Читать полный гайд с примерами рефакторинга: https://realpython.com/solid-principles-python/ 👉 @python_real

Начиная с Python 3.0, при возникновении нового исключения внутри блока except перехваченное исключение автоматически сохраняется в атрибуте __context__ создаваемого исключения. В результате при выводе будут показаны оба исключения:

try:
    1 / 0
except ZeroDivisionError:
    raise ValueError('Zero!')
(most recent call last):
  File "test.py", line 2, in <module>
    1 / 0
ZeroDivisionError: division by zero

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    raise ValueError('Zero!')
ValueError: Zero!
Кроме того, вы можете явно указать причинное исключение, использовав конструкцию raise … from. Тогда в атрибут __cause__ нового исключения будет помещено исходное:

division_error = None

try:
    1 / 0
except ZeroDivisionError as e:
    division_error = e

raise ValueError('Zero!') from division_error
(most recent call last):
  File "test.py", line 4, in <module>
    1 / 0
ZeroDivisionError: division by zero

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    raise ValueError('Zero!') from division_error
ValueError: Zero!
#python 👉 @python_real

🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра вечером Уже завтра вечером в 19:00 по мск приходи о
🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра вечером Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Дане Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

Реализация парсеров с Pylasu В этой статье рассказывается, как реализовать парсеры на Python с использованием Pylasu и ANTLR.
Реализация парсеров с Pylasu В этой статье рассказывается, как реализовать парсеры на Python с использованием Pylasu и ANTLR. Пошагово: 1. Создадим грамматику ANTLR для простого языка программирования Slang и сгенерируем парсер. 2. Определим абстрактное синтаксическое дерево (AST) с помощью Pylasu и научимся строить его из дерева разбора ANTLR. 3. Интегрируем парсер с CLI-приложением для обработки кода Slang из строк и файлов, с выводом AST в формате JSON. Полный код проекта доступен на GitHub. Вы можете экспериментировать, вносить улучшения и делиться идеями! https://tomassetti.me/implement-parsers-with-pylasu/ #python 👉 @python_real

UV Чрезвычайно быстрый менеджер пакетов и проектов на языке Python, написанный на Rust. Создатели позиционируют его как замен
UV Чрезвычайно быстрый менеджер пакетов и проектов на языке Python, написанный на Rust. Создатели позиционируют его как замену pip, pip-tools и virtualenv. Это, кстати, те же разработчики, которые сделали линтер Ruff. https://astral.sh/blog/uv https://github.com/astral-sh/uv #python 👉 @python_real

🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра вечером Уже завтра вечером в 19:00 по мск приходи о
🔍Тестовое собеседование на Middle Python с разработчиком из Авито завтра вечером Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Дане Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🐍 Как работают интерфейсы в Python и зачем они нужны? В Python нет специального ключевого слова interface (как, например, в
🐍 Как работают интерфейсы в Python и зачем они нужны? В Python нет специального ключевого слова interface (как, например, в Java или C#), но это не значит, что мы не можем создавать надежные контракты для наших классов! Свежая и очень подробная статья от *Real Python* разбирает, как правильно реализовывать интерфейсы в Python. Вот два основных механизма: 🔹 Абстрактные базовые классы (ABCs) Используем модуль abc и декоратор @abstractmethod. Это строгий подход на основе наследования: если ваш дочерний класс не реализует все необходимые методы, Python выдаст ошибку TypeError еще на этапе создания объекта (instantiation), а не тогда, когда код упадет во время выполнения. 🔹 Протоколы (Protocols) Современный подход структурной типизации с помощью typing.Protocol. Вашим классам вообще не нужно наследовать протокол — достаточно просто иметь нужные методы с правильными сигнатурами. Это идеально подходит для проверки статическими анализаторами кода (например, `mypy`). 🦆 Duck Typing (Утиная типизация) Куда же без нее! Python по своей природе динамичен: "если объект ходит как утка и крякает как утка, то это утка". ABC и Протоколы просто берут эту концепцию и делают ее безопаснее, позволяя использовать isinstance() и issubclass() для проверки контрактов. Понимание интерфейсов помогает применять принципы объектно-ориентированного дизайна (SOLID) и писать код, который работает с различными типами данных без жесткой привязки к их конкретным реализациям. https://realpython.com/python-interface/ #python 👉 @python_real

🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире 19 мая(уже завтра!) в 19:00 по мск пр
🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире 19 мая(уже завтра!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика. Почему точно нужно прийти: 📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Савве Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. 🔍 Переходи в нашего бота, чтобы получить ссылку на эфир @shortcut_py_bot Реклама. О рекламодателе.

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

Вложенные циклы в Python Вложенные циклы позволяют размещать один цикл внутри другого и тем самым выполнять повторяющиеся дей
Вложенные циклы в Python Вложенные циклы позволяют размещать один цикл внутри другого и тем самым выполнять повторяющиеся действия над несколькими последовательностями. Понимание этой концепции помогает писать более эффективный код, управлять сложными структурами данных и избегать проблем с читабельностью и производительностью. Начало работы с вложенными циклами В Python есть два основных типа циклов — for и while. * for -цикл проходит по элементам последовательности (списка, диапазона и т. д.), когда количество итераций известно заранее. * while -цикл выполняется, пока истинно заданное условие, и полезен, когда число итераций заранее не определено. Вложенный цикл создаётся размещением одного цикла внутри другого:

for outer_variable in outer_iterable:
    for inner_variable in inner_iterable:
        <body>
Для каждой итерации внешнего цикла внутренний выполняется полностью. Аналогия: часовая и минутная стрелки часов. Часовая проходит круг за 12 часов, минутная — за 1 час, но работают они совместно.

for hour in range(24):
    for minute in range(60):
        print(f"{hour:02d}:{minute:02d}")
Практические примеры Печать шаблонов

height = 6
sail_patterns = "*#-x+o"
for row in range(height):
    pattern = ""
    spacing = " " * (height - row)
    for symbol in sail_patterns:
        pattern += symbol * row + spacing
    print(pattern)
Таблица умножения

for multiplicant in range(1, 11):
    for multiplier in range(1, 4):
        expression = f"{multiplicant:>2d} × {multiplier}"
        product = multiplicant * multiplier
        print(f"{expression} = {product:>2d}", end="\t")
    print()
Суммирование элементов во вложенных списках

resource_donators = [
    [8, 6, 3],
    [9, 2, 7],
    [4, 1, 5]
]
total_resources = 0
for planet in resource_donators:
    for resource in planet:
        total_resources += resource
print(total_resources)  # 45
Парные комбинации без самих себя

players = ["Bonnie", "Mike", "Raj", "Adah"]
for player1 in players:
    for player2 in players:
        if player1 != player2:
            print(f"{player1} vs {player2}")
Вложенный while

while True:
    word = input("Введите слово (exit — для выхода): ")
    if word == "exit":
        break
    for letter in word:
        print(letter)
Частые проблемы вложенных циклов * Область видимости переменных. Не используйте одинаковые имена во внешнем и внутреннем циклах. * Читаемость. Глубокая вложенность усложняет понимание кода. * Производительность. Каждый дополнительный уровень увеличивает временную сложность (часто до O(n²) и выше). Оптимизация * break и continue позволяют досрочно завершать цикл или пропускать ненужные итерации. * List Comprehension делает выражения компактнее, хотя не всегда улучшает производительность.

# Поиск "bacon" с break
for layer in blt_sandwich:
    for ingredient in layer:
        if ingredient == target:
            print("Found bacon!")
            break
    if target in layer:
        break
Вывод Вложенные циклы — мощный инструмент для работы с многомерными данными и повторяющимися задачами. Однако злоупотребление ими ухудшает читаемость и скорость. Используйте их осознанно, оптимизируйте при помощи break, continue и list comprehension, и никогда не забывайте о сложности алгоритма. https://realpython.com/nested-loops-python/ #python 👉 @python_real

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы

🚀 Pydantic AI: Создаем типобезопасных LLM-агентов на Python Если вы устали писать костыли для парсинга сырого текста от LLM,
🚀 Pydantic AI: Создаем типобезопасных LLM-агентов на Python Если вы устали писать костыли для парсинга сырого текста от LLM, этот инструмент решает проблему изящно: вы задаете схемы через BaseModel, а фреймворк сам берет на себя общение с нейросетью, валидацию и ретраи при ошибках формата. Что разбирается в статье:Структурированный вывод: Как заставить агента возвращать строго типизированные объекты вместо "простыни" текста. • Использование инструментов (Tool Calling): Как с помощью простого декоратора @agent.tool научить LLM вызывать ваши Python-функции (например, для запросов к API или БД). • Dependency Injection: Безопасный проброс контекста (сессий БД, настроек) в агенты и инструменты с проверкой типов через RunContext. • Подводные камни: Честный разбор ограничений - как ретраи влияют на расход токенов, стоимость API и почему для масштабных проектов с кучей готовых интеграций всё еще может понадобиться LangChain или LlamaIndex. Кому будет полезно? Всем, кто хочет быстро прототипировать ИИ-фичи с минимальным количеством бойлерплейта и максимальным контролем над типами данных. 🔗 Читать туториал полностью: https://realpython.com/pydantic-ai/ #python #pydantic #llm #ai #development #realpython 👉 @python_real