Цитата:
Строки в Python нельзя изменять, и вот что это значит. Если мы создали переменную и положили туда текст, он будет храниться в одной ячейке памяти. После этого, даже если мы присвоим переменной новый текст, он будет храниться уже в другой ячейке.
Тогда есть вопросы по примеру:
# Есть цикл
for string in parserList:
#Парсим объект
myData = requests.get()
#Получаем текст
html = myData.text
#Делаем замену в тексте
html = html.replace('rub', 'руб')
Вопросы:
1. Если строки не изменяемы, то значит ли это что при каждой итерации цикла myData и html накапливаются и занимают всё больше места в памяти?
2. Сборщик мусора запускается каждую итерацию цикла или он ждёт когда цикл закончится?
3. Если я делаю
html = html.replace('rub', 'руб')
То получается я утратил возможность обратиться к предыдущей версии переменной html при этом она осталась в памяти, т.е. я утратил возможность освободить память? Не выгоднее ли в этом случае сделать так:
html2 = html.replace('rub', 'руб')
del html