Как работают функции с объектами в Python?
Код который я написал:
def Test(int ,arr = []):
arr.append(int);
print(arr);
Test(1);
Test(2);
Test(3);
Ожидаю увидеть
[1]
[2]
[3]
В действительности получаю
[1]
[1, 2]
[1, 2, 3]
Почему массив, который работает с разными функциями, имеет общую память? Как я могу заставить код делать то что мне нужно?
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
#def Test(int ,arr = []):
def test(int ,arr = None):
if not arr:
arr = []
arr.append(int);
print(arr);
test(1);
test(2);
test(3);
test(5, ['Hello World',])