Python の参照渡しが途切れるパターン

Python が「値渡し」か「参照渡し」かを調べると、オブジェクトなので全て参照渡しという記事があったり、オブジェクトの型によるという記事があったりマチマチですが

配列等のオブジェクトが「参照渡し」で、それ以外のint等の単純な型が「値渡し」みたいです

が、渡した先で配列を再構築させたりすると、参照先が変更されて参照が途切れてしまうパターン

def test(a):
    # a = {'key': 'value'} ←これをやると新たに a へオブジェクトが生成されて参照が切れてしまう
    a.clear()
    a['key'] = 'value'
    return

d = {'default': 'zero'}
print(d)
test(d)
print(d)

コメント