0

Я новичок в Python. Я немного смущен тем, как функция python решает, ссылается ли переменная или назначается. Я думаю, что это определяет, является ли переменная глобальной или локальной.Что такое назначение vs reference?

Например,

x = 1 #assignment 
y = x + 1 #reference 
x[0] = 1 #reference or assignment???? 
x += 1 #reference or assignment???? 

Есть ли общее правило, что я не знаю?

+0

http://stackoverflow.com/questions/986006/how-do-i-pass-a-variable-by-reference Это лучшее объяснение, которое я нашел – BCza

ответ

0

Ключевым вопросом для глобального vs local является то, связано ли имя с оператором присваивания.

x = 1 #assignment 
y = x + 1 #reference 

правый и правый.

x[0] = 1 #reference or assignment???? 

Это ссылка на x. Этот оператор имеет тот же эффект, что и x.__setitem__(0, 1). Он вызывает метод на x. Он не присваивает имени x.

x += 1 #reference or assignment???? 

Это задание x. Он имеет тот же эффект, что и x = x.__iadd__(1).

Смежные вопросы