4

私はこの動作を理解していません:

def getvariable(v):
    v += 1

def getlist(l):
    l.append(8)

myvariable = 1
mylist = [5, 6, 7]

print myvariable, mylist

getvariable(myvariable)
getlist(mylist)

print myvariable, mylist

出力:

1 [5, 6, 7]
1 [5, 6, 7, 8]

リストは変更されたのに、変数は変更されないのはなぜですか? 関数内の変数を変更するにはどうすればよいですか? 多くの人が値渡し、参照渡し、オブジェクト参照渡しについて言っているので、私は少し混乱しており、実際にどのようになっているのかわかりません。

4

2 に答える 2