TGViewer
Python: задачки и вопросы Python: задачки и вопросы @quiz_python · 6.94K subscribers
Post #4796 415
Python: задачки и вопросы
Развёрнутое пояснение:

1. Создаётся кортеж route = ('start',).

2. Вызов tag(route) передаёт ссылку на этот кортеж в параметр path.

3. Внутри tag выполняется path += ('end',): так как tuple неизменяемый, Python не может расширить существующий объект, а создаёт новый кортеж ('start', 'end') и присваивает его локальной переменной path.

4. Переменная route в вызывающем коде продолжает ссылаться на исходный кортеж ('start',).

5. print(route) выводит ('start',).

Почему это важно: с неизменяемыми типами (tuple, str, int) оператор += никогда не меняет исходный объект, он лишь создаёт новое значение и переприсваивает локальную ссылку. Поэтому функция, которая должна «дополнить» переданный неизменяемый объект, должна явно вернуть результат, иначе вызывающий код не увидит изменений. Это частая ошибка при работе с путями, идентификаторами и конфигурационными ключами.
  • ✍ 1
More from @quiz_python
  1. Sep 14, 2026А вы уже забрали свой подарок ко Дню программиста? Мы в Tproger вместе с нашими друзьями с…
  2. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся список batch с двумя разными словарями. 2. Вызов enric…
  3. Aug 30, 2026Post #4875
  4. Aug 30, 2026Развёрнутое пояснение: 1. Создаётся внутренний список ['', '', ''] — три пустые строки. 2.…
  5. Aug 30, 2026Post #4873
  6. Aug 29, 2026Развёрнутое пояснение: 1. Декоратор dataclass(frozen=True) генерирует для Client методы __…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →