この機能があるとします
>>>a=3
>>>def num(a):
a=5
return a
>>>num(a)
5
>>>a
3
a の値は変わりません。
このコードを考えてみましょう:
>>> index = [1]
>>> def change(a):
a.append(2)
return a
>>> change(index)
>>> index
>>> [1,2]
このコードでは、index の値が変更されます。これら2つのコードで何が起こっているのか誰か説明してください。最初のコードによると、index の値は変更されるべきではありません (つまり、index=[1] のままである必要があります)。