Python에서 참조에 의한 변수 전달
Python에서 복잡한 객체를 포함하는 변수는 참조에 의해 전달됩니다. 이는 한 변수에서 이루어진 모든 변경 사항이 두 번째 변수에 반영된다는 것을 의미합니다. 이러한 값 할당 방식은 오류 발생 위험을 증가시키지만, 반면에 시스템 운영 체제의 메모리 자원을 상당히 절약합니다.
두 개의 리스트가 있다고 가정해 봅시다:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
변수 lst2에 lst1의 값을
할당했기 때문에, 이제 컴퓨터의 RAM에는 하나의
리스트만 저장되며, 두 변수가 동시에 이를
참조합니다.
lst2의 첫 번째 요소를 변경하고
첫 번째 리스트를 콘솔에 출력해 봅시다:
lst2[0] = '!'
print(lst1) # ['!', 2, 3, 4, 5]를 출력합니다
다음 코드를 실행한 결과는 무엇일까요:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
다음 코드를 실행한 결과는 무엇일까요:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
다음 코드를 실행한 결과는 무엇일까요:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)