> 백엔드 개발 > 파이썬 튜토리얼 > Python 변수는 포인터입니까 아니면 참조입니까?

Python 변수는 포인터입니까 아니면 참조입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-05 05:20:09
원래의
433명이 탐색했습니다.

Are Python Variables Pointers or References?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿