следующий сезон в следующем году но зато та - СОЛИД совсем не то, чем кажется, паттерны замедляют код, таинственные типы и так ли нам мешает ГИЛ. Не пропустите!
Было интересно. Я прямо-таки пытался "зре(и)ть в корень", если можно так выразиться, разделил выражение += на добавление в список и на присваивание и убедился, что ссылка на список не изменится, и потому был уверен, что ошибка не упадёт. А тут вон оно как. Ну, прям открытие. Благодарю).
@@Trezvy_Papa В классе `tuple` реализован `__add__` не для добавления новых элементов, а для сложения кортежей. При этом получаем новый кортеж. Никто не запрещает слелать `(1,) + (2,)` и получить `(1, 2)` Однако интересно, что метод присваивания никак не реализован в объектной модели. Т.е. вариантов кроме `a = b` нет.
Спасибо за пример казуса ) Было бы неплохо раскрыть, почему все-таки пытается измениться именно кортеж. Я ожидал, что будет вызван метод __iadd__ для самого списка, а кортеж вообще не затронется. Т.к. по сути это должно быть тождественно (xxx = a_tuple[0] -> xxx += [6]). И если написать двумя командами, то все работает без ошибок.
А я узнал, что список можно пополнять таким образом. До этого только append использовал. Жаль, что с помощью -= нельзя убирать элементы)) Уже попробовал))
Спасибо нужно пройти этот курс пожалуйста продолжите в том же духе ооочень интересно Спасибо огромное
Сразу узнал этот пример раннего вашего видео про списки и кортежи. Спасибо!
Просто для кайфа
Бомбово
Класс)
Что будет исключение знал, а что сисок изменится.....удивил, одобрямс:)
Последняя серия с неожиданной концовкой в духе остросюжетныйх сериалов xD С нетерпением жду второй сезон!
следующий сезон в следующем году но зато та - СОЛИД совсем не то, чем кажется, паттерны замедляют код, таинственные типы и так ли нам мешает ГИЛ. Не пропустите!
Что будет исключение знал, а что список изменится.....удивил, одобрямс:)
Думал вообще не упадёт. Не обратил внимание на присваивание.
Было интересно. Я прямо-таки пытался "зре(и)ть в корень", если можно так выразиться, разделил выражение += на добавление в список и на присваивание и убедился, что ссылка на список не изменится, и потому был уверен, что ошибка не упадёт. А тут вон оно как. Ну, прям открытие. Благодарю).
И всё же остаётся какое-то послевкусие нелогичности подобного поведения, ведь по сути кортеж не изменился.
согласен, потому такой код лучше не писать, могут коллеги побить =)
@@Trezvy_Papa
В классе `tuple` реализован `__add__` не для добавления новых элементов, а для сложения кортежей. При этом получаем новый кортеж.
Никто не запрещает слелать `(1,) + (2,)` и получить `(1, 2)`
Однако интересно, что метод присваивания никак не реализован в объектной модели. Т.е. вариантов кроме `a = b` нет.
Первый раз столкнулся с применение оператора += для списка. Открытие)))
рад что на канале что-то новое узнаете
@PythonRussian канал отличный! Смотрю регулярно. Спасибо!
Спасибо за пример казуса )
Было бы неплохо раскрыть, почему все-таки пытается измениться именно кортеж.
Я ожидал, что будет вызван метод __iadd__ для самого списка, а кортеж вообще не затронется.
Т.к. по сути это должно быть тождественно (xxx = a_tuple[0] -> xxx += [6]). И если написать двумя командами, то все работает без ошибок.
Автор, пожелание лишь одно, в следующих роликах сделай звук погромче, а то прямо оооочень тихо
да, прости, утром записывал пока домашние спали -не хотел громко орать) Исправлюсь
👍
А я узнал, что список можно пополнять таким образом. До этого только append использовал. Жаль, что с помощью -= нельзя убирать элементы)) Уже попробовал))
кстати в языке Эликсир -= работает) правда медленно