2023-04-24

amarao: (Default)
2023-04-24 02:01 pm

А что такое del?

Если долго вглядываться в Rust, то Python начнёт вглядываться в тебя.

Что такое del? Что именно оно удаляет? Переменную? Значение? Если оно удаляет значение, то почему я не могу удалить значение?

>>> a=[None]
>>> del(a[0])
>>> del None
File "", line 1
del None
^^^^
SyntaxError: cannot delete None

Если я делаю поверхностное копирование через a=[1,2]; b=a, то del a не удаляет b, но del a[0] удаляет элемент из b. При этом, если в массив положить файловый хэндлер, то он будет закрыт при del a[0], но при этом мы не удаляем значение (иначе бы a=[None]; del a[0] приводило бы к ошибке), но при этом файловый хэндлер закрывается...

Если бы мы говорили про ссылки, мне было бы всё полнятно. Но в питоне типа-нет-ссылок. А что есть? У питона вообще есть модель памяти?

Когда я делаю del (a[0]), что такое a[0]? Placement expression? В python нет placement expression (aka l-value).

Мне надо срочно снижать awareness, иначе у меня очень сильно растёт Stress и падает Control.