Переменные Python — Управление памятью — Подсчет ссылокPython

Программы на Python
Ответить
Anonymous
 Переменные Python — Управление памятью — Подсчет ссылок

Сообщение Anonymous »

Я новичок в Python.
Я выполнил следующее:

Код: Выделить всё

x=5
id(x)
140717517440040
id(5)
140717517440040
y=5
id(y)
140717517440040
id(5)
140717517440040
import sys
print(sys.getrefcount(x))
4294967295
print(sys.getrefcount(5))
4294967295
Я получил указанные выше значения.
Но когда я выполнил следующее:

Код: Выделить всё

mcavar=12345678901
id(m1)
1265225292816
id(12345678901)
1265225292976
s1=12345678901
id(s1)
1265225293296
id(12345678901)
1265225292976
print(sys.getrefcount(12345678901))
2
print(sys.getrefcount(m1))
2
print(sys.getrefcount(s1))
2
Я получил вышеуказанное.
Когда я выполнял переменные x и y, я получил тот же адрес памяти. Но при выполнении для m1 и s1 для одного и того же значения я получаю другой адрес памяти. Но для значения он предоставляет тот же адрес памяти. Но для переменной он предоставляет разные адреса для m1 и s1. Почему? Пожалуйста, уточните это

Подробнее здесь: https://stackoverflow.com/questions/793 ... ence-count
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»