Как имена переменных хранятся и отображаются внутри?
Я читаюhttps://stackoverflow.com/a/19721096/1661745 и кажется, что в CPython переменные - это просто имена, связанные со ссылками.
С утверждением x = 5 происходит несколько вещей:
Объект int со значением 5 создан (или найден, если он уже существует)имя x создано (или не связано с последним объектом 'x', помеченным)счетчик ссылок на новый (или найденный) объект int увеличивается на 1имя x связано с объектом со значением '5', созданным (или найденным).Тем не менее, мне все еще не ясно, как именно переменные реализованы внутри.
А именно:
имя x создано (или не связано с последним объектом 'x', помеченным);Тогда не будет ли имя также занимать место в памяти?sys.sizeof(x)
равняетсяsys.sizeof(5)
и я понялsys.sizeof(x)
может только вернуть размер связанной ссылки, но тогда каков размер имениx
?
Как это реализовано внутри? Я думаю, что на высоком уровне это можно сделать сdict
где ключ это имя переменной (str
?) и значение является ссылкой, с которой оно связано.