Вопрос риторический? Разумеется, это передача ссылок по значению. Официальный туториал* называет это "передачей по значению (где значение - это всегда ссылка на объект)". И это ничем не отличается от того, как работают аргументы ссылочных типов в Java.
Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of... · 26 авг 2022
«Переменная» в Python — это не традиционная переменная. Вместо этого это привязка к объекту. По сути, указатель, но на объект, а не на ячейку памяти. Со списком это легко увидеть.
Вот что происходит под капотом, более или менее:
Вы создаете объект списка со значением [1, 2, 3, 4]. Мы назовем этот идентификатор объекта 1. Затем вы привяжете имя «list_one» к идентификатор... Читать далее