이 글에서는 목록을 변경하면 목록 y라고 하면 목록 x도 변경되는지 살펴보겠습니다. 이를 수행하려면 먼저 두 개의 목록이 있는 예를 살펴보고 추가()를 사용하여 출력을 위해 인쇄해 보겠습니다.
으아악위에서 목록 y를 업데이트하면 목록 x도 변경된다는 것을 확인했습니다.
위 결과가 나온 이유는 −
위에서 y = x라고 쓰면 목록의 복사본이 생성되지 않습니다. x가 참조하는 것과 동일한 객체를 참조하는 새 변수 y를 생성합니다. 이는 목록이라는 객체가 하나만 있고 x와 y가 모두 이를 참조한다는 의미입니다.
append()가 호출되면 변수 객체의 내용이 []에서 [25]로 변경됩니다. 두 변수 모두 동일한 개체를 가리키므로 수정된 값은 두 변수 중 하나를 사용하여 액세스할 수 있습니다[25].
불변 객체를 x에 할당한다고 가정하면 x와 y는 더 이상 동일하지 않습니다. 이는 정수가 불변이기 때문입니다 -
x = x + 1이라고 쓸 때 값을 늘려 int 5를 변경하는 것이 아닙니다. 대신, 새로운 객체(int 6)를 생성하고 이를 x에 할당합니다. 이 할당 후에는 두 개의 개체(int 6 및 5)와 이를 참조하는 두 개의 변수가 있습니다.
그러므로
변경 가능한 개체 − 목록, 사전, 집합 등과 같은 변경 가능한 개체가 있는 경우 특정 작업을 사용하여 이를 변경할 수 있으며 이를 참조하는 모든 변수에 이러한 변경이 적용됩니다.
불변 객체 − str, int, tuple 등과 같은 불변 객체가 있는 경우 이를 참조하는 모든 변수는 항상 동일한 값을 표시하지만 해당 값을 새 값으로 변환하는 작업은 항상 새 객체를 반환합니다. .
위 내용은 Python에서 목록 'y'를 변경하면 목록 'x'도 변경되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!