Python Guru | Всё про Python
Закрытый канал
Агрегатор полезных материалов по Python Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Реклама: telega.in/channels/+ugxIOUCsAc43N2Zi/card?r=o8lGV6A1
Больше3 146
Подписчики
-124 часа
-77 дней
-3830 день
Архив постов
Архитектура тестового фреймворка: от хаоса к стабильности / «Автоматизатор тестирования на Python»
На открытом уроке разберём, зачем автотестам нужна архитектура и как она влияет на стабильность, масштабируемость и поддержку тестового проекта. Поговорим о базовых принципах построения тестового фреймворка и рассмотрим примеры реализации.
• Перейти к просмотру
Python Guru
Давайте познакомимся с дружелюбным дядей по языку на всю жизнь
Это относится к PEP-401, выпущенному 1 апреля 2009 года (теперь вы знаете, что это значит).
Цитирую из PEP-401
Учитывая, что оператор неравенства != в Python 3.0 был ужасной ошибкой, вызывающей боль в пальцах, FLUFL восстанавливает оператор <> diamond в качестве единственного написания.
Python Guru
Превращение функций в методы класса с помощью
types.MethodType
types.MethodType — это способ динамического добавления функций в экземпляры класса как методы. Это позволяет создавать методы "на лету" и добавлять их в объекты, что может быть полезно в сложных сценариях, когда структура класса определяется динамически.
🗣️ В этом примере функция external_function добавляется в экземпляр класса MyClass как метод. Это позволяет вызывать её как обычный метод класса, используя атрибуты экземпляра.Python Guru
Пока вы спите – ИИ-агент закрывает задачи за вас
ChatGPT, Claude и DeepSeek уже стали базой. Но главный тренд 2026 года – автономные AI-агенты, которые не просто отвечают на запросы, а сами выполняют ваши рабочие задачи и рутину.
На бесплатном практикуме команда Зерокодера покажет, как установить и настроить OpenClaw – локального AI-агента для работы и автоматизации задач.
В эфире покажут:
– как установить и настроить OpenClaw;
– как автоматизировать рутину и сократить количество ручных действий;
– как собрать мощнейшую рабочую связку Claude + OpenClaw + Cursor;
– как встроить AI-агента в текущую работу и ускорить процессы;
– как ускорить текущие процессы без найма дополнительных людей.
Это не вебинар «с нуля в IT» – это практикум для тех, кто уже использует ИИ и хочет выйти на следующий уровень.
🎁 Бонус: гайд по установке и настройке OpenClaw на вашем ПК.
Бесплатный практикум – по ссылке.
Все ли разобрано? (ч.2)
Таким образом, во время сравнения sorted(y) == sorted(y) первый вызов sorted() будет использовать итератор y, а следующий вызов просто вернет пустой список.
Python Guru
Замени собой целую команду
В 2026 году «туннельное зрение» — главный барьер для развития. Читая каналы только в своей сфере, мы перестаем видеть нестандартные решения, которые уже давно используют в соседних нишах.
Самые интересные гипотезы рождаются на стыке AI и IT. Идея, подсмотренная в канале по разработке, может дать толчок вашему проекту в нейрогенерации, и наоборот. Я собрал подборку экспертов, которые помогают выйти за рамки одной ниши.
Внутри:
1. ИИ и генерация: фишки новых моделей, рабочие связки и качественное создание контента. 2. Кодинг и прикладной IT: как автоматизировать задачи и упрощать рабочий процесс. 3. Индустрия: какие инструменты сейчас действительно полезны, а что — просто хайп.Подписывайтесь на экспертов — это самый простой способ выйти за рамки привычной ниши и собрать уникальный стек компетенций. Подписка в 1 клик: https://t.me/addlist/nKvP4qy8SxtmM2Vi
Модуль tkinter: Гайд по стилям
Продолжаем делиться циклом видеоматериалов, благодаря которому ты научишься делать красивые интерфейсы с помощью tkinter. В этот раз автор рассказывает о всех стилях.
• Перейти к просмотру
Python Guru
Все разобрано? (ч.1)
Sorted Метод всегда возвращает список, а сравнение списков и кортежей всегда возвращает False результат на Python.
В отличие от этого, sortedметод reversed возвращает итератор. Почему? Потому что сортировка требует, чтобы итератор был либо изменен на месте, либо использовал дополнительный контейнер (список), тогда как реверсирование может просто работать путем повторения от последнего индекса к первому.
Python Guru
Полуночного времени не существует?
До Python 3.5 логическое значение для datetime.time объекта считалось равным False, если оно представляло полночь по UTC. Он подвержен ошибкам при использовании if obj: синтаксиса для проверки, является ли obj нулевым или каким-либо эквивалентом "пустого".
Python Guru
Дикий импорт (ч.3)
Если вы действительно хотите использовать импорт по шаблону, то вам нужно будет определить список all в вашем модуле, который будет содержать список общедоступных объектов, которые будут доступны, когда мы выполним импорт по шаблону.
Python Guru
Дикий импорт (ч.2)
Если бы мы использовали from ... import a, b, c синтаксис, прошлого NameError не произошло бы.
Python Guru
Дикий импорт (ч.1)
Часто рекомендуется не использовать импорт подстановочных знаков. Первая очевидная причина этого заключается в том, что при импорте подстановочных знаков имена с начальным подчеркиванием не импортируются. Это может привести к ошибкам во время выполнения.
Python Guru
Иголки в стоге сена (ч.6)
Последний должен быть довольно очевидным, изменяемым объектом (например list) может быть изменен в функции, и переназначение неизменяемого (a -= 1) не является изменением значения.
Python Guru
Иголки в стоге сена (ч.5)
Что касается пятого фрагмента, большинство методов, которые изменяют элементы объектов последовательности / сопоставления, такие как list.append, dict.update, list.sort и т.д. измените объекты на месте и верните None. Обоснование этого заключается в повышении производительности за счет отказа от создания копии объекта, если операция может быть выполнена на месте.
Python Guru
Иголки в стоге сена (ч.4)
В 4-м фрагменте на AssertionError был поднят вопрос, потому что вместо утверждения отдельного выражения a == b мы утверждаем весь кортеж. Следующий фрагмент прояснит ситуацию,
>>> a = "python"
>>> b = "javascript"
>>> assert a == b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>> assert (a == b, "Значения не равны")
<stdin>:1: SyntaxWarning: assertion is always true, perhaps remove parentheses?
>>> assert a == b, "Значения не равны"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError: Values are not equal
Python GuruСовет на ближайшие годы — изучайте ВАЙБ-КОДИНГ
ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запускать продукты быстрее, чем это делали классические команды разработки. И это уже не "будущее когда-нибудь", а реальность, которая меняет рынок уже сегодня
И те, кто научится вайбкодить сейчас, будут увереннее конкурировать на рынке и зарабатывать больше тех, кто по-прежнему делает всё вручную.
Стартовать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 30 тысяч: @vibecoding_tg
Иголки в стоге сена (ч.3)
В 3, как вы, возможно, уже поняли, после 5-го элемента ("that") в списке отсутствует запятая. Итак, с помощью неявной конкатенации строковых литералов,
>>> ten_words_list
['some', 'very', 'big', 'list', 'thatconsists', 'of', 'exactly', 'ten', 'words']
Python GuruИголки в стоге сена (ч.2)
Для 2 правильным выражением для ожидаемого поведения является t = ('one',) or t = 'one', (пропущенная запятая), в противном случае интерпретатор считает, что t это str и повторяет его посимвольно.
() является специальным маркером и обозначает пустой tuple.
Python Guru
Иголки в стоге сена (ч.1)
Для 1 правильным утверждением для ожидаемого поведения является x, y = (0, 1) if True else (None, None).
Python Guru
Округляет, как банкир (ч.2)
Это рекомендуемый способ округления дробей .5, как описано в IEEE 754. Однако в школе большую часть времени преподают другой способ (округление от нуля), поэтому округление банкира, вероятно, не так хорошо известно. Кроме того, некоторые из самых популярных языков программирования (например: JavaScript, Java, C / C ++, Ruby, Rust) также не используют банковское округление.
Следовательно, это все еще довольно специфично для Python и может привести к путанице при округлении дробей.
Смотрите Документы round() или этот поток stackoverflow для получения дополнительной информации.
Обратите внимание, что get_middle([1]) было возвращено только 1, потому что индекс был round(0.5) - 1 = 0 - 1 = -1, возвращая последний элемент в списке.
Python Guru
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
