В этом случае мелкая копия означает, что вложенные объекты будут указывать на исходные значения. Таким образом, изменяя вложенные объекты в разреженном массиве, вы будете мутировать исходный файл.
Лучше увидеть на примере:
var originalArray = [1, [2, 3], 4];
var slicedArray = originalArray.slice();
var nestedArray = slicedArray[1]; // [2, 3]
nestedArray.push("oh no, I mutated the original array!");
console.log(originalArray); // [1, [2, 3, "oh no, I mutated the original array!"], 4]
%reset
, кажется, очищает определенные переменные.
Добавление следующих строк в новый скрипт будет очищать все переменные каждый раз, когда вы перезапускаете скрипт:
from IPython import get_ipython
get_ipython().magic('reset -sf')
Чтобы облегчить жизнь, вы можете добавить их в свой шаблон по умолчанию.
В Spyder: Tools>Preferences>Editor>Edit template
В iPython вы можете удалить одну переменную следующим образом:
del x
Параметр quit в панели консоли также очистит все переменные в explorer_read
***. Обратите внимание, что вы потеряете весь код, который вы запустили в панели консоли
Чтобы удалить одну переменную:
reset_selective name_variable
может быть полезна!
Для получения дополнительной информации о конкретном типе поведения:
reset?
Я попробовал
%reset -f
и очистил все переменные и содержимое без подсказки. -f
действует действие силы на данную команду, не запрашивая да / нет .
Пожелайте, чтобы это помогло ..:)