Комментарии 5
Спасибо, интересно.
В ф-ии start нежелательно делать дефолтным значение с мутабельным аргументом 'argv=[ ]'.
Аргументы в ней инициализируются один раз при создании ф-ии, и в такой объект могут добавиться новые данные при вызове ф-ии еще раз.
def f(a=[]):
a.append(100)
return a
lst = f()
print(f"lst: {lst}")
lst2 = f()
print(f"lst2: {lst2}")
>>>
lst: [100]
lst2: [100, 100]
+2
В ООП. Все объекты в ООП и что может создавать новые экземпляры на куче
Я бы не был так категоричен в высказываниях. new может быть перегружен. Под капотом может скрываться выделение памяти не из кучи, а из структуры типа arena.
+1
А разве не стоит уточнять, про какую именно реализацию libc идет речь? Ведь в разных куча может быть реализована по-разному
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Устройство кучи для прожженных самоваров. Часть 1