knorth55のぼんやり日記

制御とかプログラミングとかを勉強している機械系大学生の備忘録です。

Pythonの引数が参照渡しである影響

Python 2.7でちょっとつまってしまったので検証してみたら、関数の引数は以下のような例で変更されるらしい。
Pythonは参照渡しなので可変オブジェクトであるリストに関してはこういった破壊的(?)な処理が行われます。

参考サイト
Pythonの引数は全て参照渡しの件について - k_kinukawa's diary

$python 
>>> list = [1,2,3,4]
>>> def f(list, x):
...     list[x] = 0
...     return list
... 
>>> list_ = f(list,1)
>>> print list
[1, 0, 3, 4]