Pythonのデータ型は基本的にポインタ

immutableなデータ型もmutableなデータ型も、再代入すると新しいオブジェクトを作る

しかしmutableなデータ型の変数を別の変数に代入すると、オブジェクトが使いまわされるので一部データを書き換えると代入元の変数の中身も書き換えられる

関数に変数を渡す時immutableなデータ型はいわゆる値渡しになるが、以上のような挙動からmutableなデータ型は参照渡しっぽくなる

Untitled