Найти - Пользователи
Полная версия: if переменная == ссылка на значение в оперативной памяти: ...
Начало » Python для новичков » if переменная == ссылка на значение в оперативной памяти: ...
1
Defalt
Например:
perem=input("Введите ключ")
if perem not slovar:
tolk=input("Впишите ваше толкование")
slovar[perem]=tolk
=> получается сейчас у переменной perem и tolk ссылки на значение в памяти.
=> Если добавить еще один ключ и его значение в словарь то perem и tolk изменятся => изменится это и в предыдущем вводе?! Т.е. 2 разных ключа не впишутся а будет 2 одинаковых.

==> Если perem - ссылка на значение в оперативной памяти то значение остается в памяти а perem меняет ссылку на другое значение?!
FishHook
Зачем такие заморочки? Это питон, тут всё проще
key=input("Введите ключ")
if perem in dct:
    print (dct[key]) 
else:
    dct[key] = input("Впишите ваше толкование")
    
doza_and
1. Код содержит синтаксические ошибки => следовательно о результатах его работы вообще нельзя говорить.
2.
Defalt
Если добавить еще один ключ и его значение в словарь то perem и tolk изменятся
Неверное утверждение, значения переменных идентифицируемые в данной точке кода именами perem и tolk не изменятся при помещении их в словарь. Посмотрите при помощи print. Словарь это дополнительный объект в памяти, который содержит ссылки на другие объекты в памяти.
3.
Defalt
Если perem - ссылка на значение….
perem это строка содержащая имя переменной (в модуле есть словарь интерпретатор по этой строке ищет адрес объекта когда он понадобился алгоритму). В обычном коде эта строка вообще не используется. Используются значения объектов в памяти.
>>> a=2
>>> b=2
>>> id(a)
10026052
>>> id(b)
10026052
В этом примере есть 2 имени a,b для одного объекта в памяти. Алгоритмы будут работать с областью памяти по указателю 10026052.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB