Middle
Чӣ мешавад дар хотира вақте ки арзиши тағирёро дар Python ба як воҳид зиёд мекунем?
sobes.tech AI
Ҷавоб аз AI
Дар Python, тағирёбандаҳо ба объектҳо дар хотира ишора мекунанд, на ба арзишҳо. Вақте ки арзиши тағирёбандаро ба як меафзояд, масалан x += 1, ин амалҳо рӯй медиҳанд:
- Нахуст объект бо арзиши нав эҷод мешавад (агар навъи он тағир наёбад, масалан int).
- Тағирёбанда
xба он объект ишора карданро оғоз мекунад. - Объекти кӯҳна дар хотира мемонад, то он даме ки ба он ишораҳо мавҷуд бошанд; агар ишораҳо қатъ шаванд, ҷамъкунандаи партовҳо хотирасо озод мекунад.
Масалан:
x = 5
print(id(x)) # суроғаи объект бо рақами 5
x += 1
print(id(x)) # суроғаи объект бо рақами 6 — фарқ мекунад аз пешина
Бинобар ин, вақте ки арзиши тағирёбандаро тағир медиҳед, объект нав эҷод мешавад ва тағирёбанда ба он равона мешавад. Ин ба он вобаста аст, ки рақамҳои бутун дар Python объектҳои тағирнопазир (immutable) мебошанд.