0

저는 파이썬을 처음 사용합니다. 파이썬 함수가 변수가 참조되거나 할당되는지 결정하는 방법에 대해 약간 혼란 스럽다. 나는 이것이 변수가 전역인지 지역인지를 결정한다고 생각한다. 예를 들어 과제 대 참조 란 무엇입니까?

,
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 로컬의 주요 질문은 이름이 할당 문에 의해 바인딩되어 있는지 여부입니다.

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)과 같은 효과가 있습니다.