Скажем, я храню пароль в виде простого текста в переменной с именем passWd
в виде строки.
Как python освобождает эту переменную, когда я от нее отказываюсь (например, с помощью del passWd
или passWd= 'new random data'
)?
Сохраняется ли строка в виде байтового массива, означая, что она может быть перезаписана в том месте памяти, в котором она изначально существовала, или это фиксированный набор в области памяти, который не может быть изменен, и при назначении нового значения новая область памяти имеет вид создано и старая область отбрасывается, но не перезаписывается нулем?
Я спрашиваю, как Python реализует безопасность областей памяти и хотел бы узнать больше об этом, главным образом потому, что мне любопытно :)
Из того, что я до сих пор собирал, использование del
(или __del__
) приводит к тому, что интерпретатор не освобождает области памяти этой переменной автоматически, что может вызвать проблемы, а также я не уверен, что del так ошибается при удалении значений. Но это только то, что я собрал, а не что-то черное или белое :)