#リストや辞書は参照渡しなので注意
def test_func(x, l=[]):
l.append(x)
return l
r = test_func(100)
print(r)
r = test_func(100)
print(r)
デフォルト引数として空のリストにしたはずが・・・
[100]
[100, 100]
#改良するには、下記のようにする
def test_func(x, l=None):
if l is None:
l = []
l.append(x)
return l
r = test_func(100)
print(r)
r = test_func(100)
print(r)
出力:
[100]
[100]