en
Feedback
Разъяснивший Python

Разъяснивший Python

Open in Telegram

Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/python_pssss

Show more
7 184
Subscribers
-224 hours
-177 days
-5030 days
Posts Archive
Методы: classm (ч.2) Объект метода сравнивается равным, когда обе функции равны, а связанные объекты одинаковы. Так o1.method
Методы: classm (ч.2) Объект метода сравнивается равным, когда обе функции равны, а связанные объекты одинаковы. Так o1.method == o1.method это правдиво, хотя и не тот же объект в памяти. staticmethod преобразует функции в дескриптор "no-op", который возвращает функцию как есть. Объекты метода никогда не создаются, поэтому сравнение с is является правдивым. Разъяснивший Python

Самый недооценённый навык в 2026 году – это вайбкодинг Еще недавно про него толком никто не знал, а сейчас нейронки уже собир
Самый недооценённый навык в 2026 году – это вайбкодинг Еще недавно про него толком никто не знал, а сейчас нейронки уже собирают проекты от идеи до релиза и экономят десятки часов работы. И те, кто сейчас разберутся во всём этом, будут зарабатывать в разы больше тех, кто делает всё вручную. А чтобы научиться вайбкодить и не совершать ошибки - читайте канал AI-архитектор. Автор уже открыл доступ к бесплатному уроку, где разобрал: что такое вайбкодинг, какие связки реально приносят от 100 000 ₽ за проект и почему 2026 год — последнее окно лёгкого входа в нишу. Через 24 часа урок станет платным, поэтому подписывайтесь и забирайте доступ в закрепе: https://t.me/+juHqwg5Aq-QzOGIy

Методы: classmethod (ч.1) Обращение к атрибуту несколько раз каждый раз создает объект метода! Поэтому o1.method is o1.method
Методы: classmethod (ч.1) Обращение к атрибуту несколько раз каждый раз создает объект метода! Поэтому o1.method is o1.method никогда не бывает правдивым. Доступ к функциям как атрибутам класса (в отличие от экземпляра), однако, не создает методы; так SomeClass.method is SomeClass.method и есть на самом деле. Разъяснивший Python

Равенство методов и идентичность (ч.2) Обращаясь classm дважды, мы получаем одинаковый объект, но не тот же? Давайте посмотри
Равенство методов и идентичность (ч.2) Обращаясь classm дважды, мы получаем одинаковый объект, но не тот же? Давайте посмотрим, что происходит с экземплярами SomeClass Обращение к classm or method дважды создает одинаковые, но не одинаковые объекты для одного и того же экземпляра SomeClass. Разъяснивший Python

Равенство методов и идентичность (ч.1) Функции - это дескрипторы. Всякий раз, когда к функции обращаются как к атрибуту, вызы
Равенство методов и идентичность (ч.1) Функции - это дескрипторы. Всякий раз, когда к функции обращаются как к атрибуту, вызывается дескриптор, создающий объект метода, который "связывает" функцию с объектом, владеющим атрибутом. При вызове метод вызывает функцию, неявно передавая связанный объект в качестве первого аргумента (именно так мы получаем self в качестве первого аргумента, несмотря на то, что не передаем его явно). Разъяснивший Python

Отношения подклассов Отношения подклассов не обязательно являются транзитивными в Python. Любому разрешено определять свой со
Отношения подклассов Отношения подклассов не обязательно являются транзитивными в Python. Любому разрешено определять свой собственный, произвольный subclasscheck в метаклассе. Когда issubclass(cls, Hashable) вызывается, он просто ищет не ложный "hash" метод в cls или что-либо, от чего он наследуется. Поскольку object является хешируемым, но list не является хешируемым, это нарушает отношение транзитивности. Разъяснивший Python

Проблема с куриным яйцом (ч.2) Среди object и type нет реального базового класса. Путаница в приведенных выше фрагментах возн
Проблема с куриным яйцом (ч.2) Среди object и type нет реального базового класса. Путаница в приведенных выше фрагментах возникает из-за того, что мы думаем об этих взаимосвязях (issubclass и isinstance) в терминах классов Python. Связь между object и type не может быть воспроизведена в чистом python. Разъяснивший Python

Проблема с куриным яйцом (ч.1) Итак, какой "окончательный" базовый класс? type это метакласс в Python. Все является object на
Проблема с куриным яйцом (ч.1) Итак, какой "окончательный" базовый класс? type это метакласс в Python. Все является object на Python, который включает в себя классы, а также их объекты (экземпляры). Класс type - это метакласс class object, и каждый класс (включая type) прямо или косвенно унаследован от object. Разъяснивший Python

Переменная Шредингера (ч.3) Поскольку x это глобальное значение, мы можем изменить значение, которое funcs будет искать и воз
Переменная Шредингера (ч.3) Поскольку x это глобальное значение, мы можем изменить значение, которое funcs будет искать и возвращать, обновив x. Чтобы получить желаемое поведение, вы можете передать переменную цикла в качестве именованной переменной в функцию. Почему это работает? Потому что это определит переменную внутри области видимости функции. Он больше не будет обращаться к окружающей (глобальной) области видимости для поиска значений переменных, но создаст локальную переменную, которая хранит значение x на данный момент времени. Разъяснивший Python

Переменная Шредингера (ч.2) При определении функции внутри цикла, которая использует переменную цикла в своем теле, закрытие
Переменная Шредингера (ч.2) При определении функции внутри цикла, которая использует переменную цикла в своем теле, закрытие функции цикла привязывается к переменной, а не к ее значению. Функция ищет x в окружающем контексте, вместо того, чтобы использовать значение x во время создания функции. Итак, все функции используют для вычислений последнее значение, присвоенное переменной. Мы можем видеть, что он использует x из окружающего контекста (т.е. не локальную переменную) с: Разъяснивший Python

Переменная Шредингера (ч.1) Значения x были разными на каждой итерации до добавления some_func к funcs, но все функции возвра
Переменная Шредингера (ч.1) Значения x были разными на каждой итерации до добавления some_func к funcs, но все функции возвращают 6, когда они вычисляются после завершения цикла. Разъяснивший Python

Крестики-нолики, где X побеждает с первой попытки! Когда мы инициализируем row переменную, эта визуализация объясняет, что пр
Крестики-нолики, где X побеждает с первой попытки! Когда мы инициализируем row переменную, эта визуализация объясняет, что происходит в памяти. И когда board инициализируется путем умножения row, вот что происходит внутри памяти (каждый из элементов board[0], board[1] и board[2] является ссылкой на один и тот же список, на который ссылается row). Мы можем избежать этого сценария здесь, не используя row переменную для генерации board. Разъяснивший Python

is not ... не является is (not ...) is not это один двоичный оператор, и его поведение отличается от использования is и not р
is not ... не является is (not ...) is not это один двоичный оператор, и его поведение отличается от использования is и not разделенных. is not вычисляется, False если переменные по обе стороны от оператора указывают на один и тот же объект и True в противном случае. В примере (not None) вычисляется как True, поскольку значение None находится False в логическом контексте, поэтому выражение становится 'something' is True. Разъяснивший Python

Несоответствие во времени оценки (ч.3) Хорошо, следуя логике, обсуждавшиеся до сих пор, не должно ли значение list(gen) в тре
Несоответствие во времени оценки (ч.3) Хорошо, следуя логике, обсуждавшиеся до сих пор, не должно ли значение list(gen) в третьем фрагменте быть [11, 21, 31, 12, 22, 32, 13, 23, 33]? (потому что array_3 и array_4 будут вести себя точно так же, как array_1). Причина, по которой были обновлены (только) array_4 значения, объясняется в PEP-289. Немедленно вычисляется только самое внешнее выражение for, остальные выражения откладываются до запуска генератора. Разъяснивший Python

Несоответствие во времени оценки (ч.2) Различия в выходных данных g1 и g2 во второй части обусловлены тем, как переменным arr
Несоответствие во времени оценки (ч.2) Различия в выходных данных g1 и g2 во второй части обусловлены тем, как переменным array_1 и array_2 повторно присваиваются значения. В первом случае, array_1 привязан к новому объекту [1,2,3,4,5] и поскольку in предложение вычисляется во время объявления, оно все еще ссылается на старый объект [1,2,3,4] (который не уничтожается). Во втором случае назначение фрагмента для array_2 обновляет тот же самый старый объект [1,2,3,4] до [1,2,3,4,5]. Следовательно, g2 и array_2 все еще имеют ссылку на один и тот же объект (который теперь был обновлен до [1,2,3,4,5]). Разъяснивший Python

Несоответствие во времени оценки (ч.1) В выражении генератора in предложение вычисляется во время объявления, но условное пре
Несоответствие во времени оценки (ч.1) В выражении генератора in предложение вычисляется во время объявления, но условное предложение вычисляется во время выполнения. Итак, перед выполнением, array повторно присваивается списку [2, 8, 22], и поскольку из 1, 8 и 15 только количество 8 больше 0, генератор выдает только 8. Разъяснивший Python

Для чего? (ч.2) Оператор присваивания i = 10 никогда не влияет на итерации цикла из-за способа работы циклов for в Python. Пе
Для чего? (ч.2) Оператор присваивания i = 10 никогда не влияет на итерации цикла из-за способа работы циклов for в Python. Перед началом каждой итерации следующий элемент, предоставляемый итератором (range(4) в данном случае) распаковывается и присваивается переменным целевого списка (i в данном случае). Разъяснивший Python

Для чего? (ч.1) Оператор for определен в Python как: for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite] Где
Для чего? (ч.1) Оператор for определен в Python как:
for_stmt: 'for' exprlist 'in' testlist ':' suite ['else' ':' suite]
Где exprlist является ли назначение целевым. Это означает, что эквивалент {exprlist} = {next_value} выполняется для каждого элемента в итерируемом. В enumerate(some_string) функция выдает новое значение i (счетчик растет) и символ из some_string в каждой итерации. Затем он устанавливает (только что назначенный) i ключ к словарю some_dict к этому персонажу. Разъяснивший Python

Qubu × Гравитация запускают крупнейший ИИ-конкурс России. Призовой фонд — 5 000 000 рублей. Хотите внедрить ИИ в свой бизнес? Подайте заявку - опишите бизнес задачу, которую возможно решить с помощью ИИ. Из отобранных заявок будет организован конкурс, где ведущие разработчики страны создадут ИИ-решение для вашего бизнеса в рамках хакатона. Разрабатываете ИИ-решения? Загрузите модель и поучаствуйте в конкурсе за звание лучшего отраслевого решения России. Подробное: qubu.ai

Продолжай пытаться... * Когда return, break или continue инструкция выполняется в try набор инструкций "try ... finally", fin
Продолжай пытаться... * Когда return, break или continue инструкция выполняется в try набор инструкций "try ... finally", finally предложение также выполняется при выходе. Возвращаемое значение функции определяется последним return выполняется инструкция. Поскольку finally предложение всегда выполняется, a return инструкция, выполняемая в finally предложение всегда будет выполняться последним. Предостережение здесь в том, что если предложение finally выполняет return или break инструкция, временно сохраненное исключение отбрасывается. Разъяснивший Python