関数へ引数を参照渡しできない件について

言い古された話ではあるようですが、pythonは、基本的に、値渡しです。

たとえば、3つぐらい配列があって、関数にその3つの配列のガワを渡して、関数の中でappendしてほしいよ、てな時どうするかというと、戻り値をタプルとして複数返せることを利用するのだそうな。
つまりこう。

def func(arr1, arr2, arr3):
    for n in range(10):
        arr1.append(hoge)
        arr2.append(fuga)
        arr3.append(piyo)
    return arr1, arr2, arr3

array1 = []
array2 = []
array3 = []

array1, array2, array3 = func(array1, array2, array3)

タプル げに素晴らしい