>  기사  >  백엔드 개발  >  Python의 값 유형과 참조 유형 및 값 전달과 참조 전달의 차이점

Python의 값 유형과 참조 유형 및 값 전달과 참조 전달의 차이점

巴扎黑
巴扎黑원래의
2017-07-20 09:28:142011검색

값 유형:

포함: 문자열, 튜플, 값 자체는 수정이 허용되지 않습니다

참조 유형:

포함: 목록, 사전, 자체는 수정이 허용됩니다

a = 2

b = a

a = 3

값 유형의 값을 수정하고 새 메모리 주소를 가리키도록 하면 변수 b

의 값은 변경되지 않습니다.

lista = [1,2]

listb = lista

lista[ 0] = 3

참조형 값을 수정합니다. listb의 주소가 lista와 일치하므로 이것도 수정됩니다.

일반적으로 값을 복사하는 것만으로도 샤딩 작업을 사용할 수 있습니다.

listb = lista[:]

값을 전달하면
참조로 전달됩니다. 전달되는 것은 메모리 주소입니다. 수정 후에는 메모리 주소에 해당하는 값이 변경됩니다.
배열을 예로 사용하는 것이 가장 명확합니다. 예를 들어 배열 a[]={1,2};
을 정의하면 a[0]=1, a[1]=2입니다.
배열 a의 요소 값을 매개변수로 전달하면 실제로는 값 전송일 뿐 배열 자체에는 영향을 미치지 않습니다.
배열 a의 포인터를 매개변수로 전달하면 처리 함수가 직접 수정할 수 있습니다. 배열 a. 값

위 내용은 Python의 값 유형과 참조 유형 및 값 전달과 참조 전달의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.