Python 변수는 참조입니까?
"Python의 변수는 포인터입니다"라는 개념은 오해의 소지가 있습니다. 이러한 오해를 명확히 하기 위해 두 가지 코드 예제를 살펴보겠습니다.
예제 1:
i = 5 j = i j = 3 print(i)
변수가 포인터인 경우 출력은 3이 될 것으로 예상됩니다. , 실제 출력은 5입니다. 이는 Python 변수가 객체의 실제 값을 저장하지 않고 오히려 참조를 저장하기 때문입니다. it.
예제 2:
i = [1,2,3] j = i i[0] = 5 print(j)
첫 번째 예와 달리 여기의 출력은 [5,2,3]입니다. 이번에는 i에 바인딩된 목록의 첫 번째 요소를 변경하면 j에 바인딩된 목록에도 영향을 미칩니다. i와 j가 모두 동일한 목록 객체를 참조하기 때문입니다.
Python 변수란 실제로 무엇인가요?
Python 변수를 올바르게 이해하려면 참조 포인터가 아닌. 변수에 값을 할당하는 것은 본질적으로 해당 변수를 메모리의 특정 객체에 바인딩하는 것입니다.
참조와 포인터의 주요 차이점은 참조가 다른 객체를 가리키도록 재할당될 수 없다는 것입니다. 대신 원본 개체에 영구적으로 바인딩된 상태로 유지됩니다.
위의 예에서 i와 j는 각각 원본 int(5) 및 list([1,2,3]) 개체에 대한 참조입니다. i 값을 변경해도 j에는 영향이 없습니다. 둘 다 서로 다른 객체를 참조하기 때문입니다. 그러나 목록의 요소 값을 변경하면 i와 j가 모두 동일한 목록 개체를 참조하기 때문에 모두 영향을 받습니다.
위 내용은 Python 변수는 포인터입니까 아니면 참조입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!