파이썬의 전달 방식
정답부터 말하자면, 파이썬의 전달 방식은 call by assignment이다. 다르게는 call by object-reference 또는 call by sharing이라고 부르기도 한다. 모두 같은 의미로, 파이썬에서는 함수 호출 시 인자를 객체에 대한 참조로 전달한다는 것이다.
이해를 돕기 위해 예시를 들자면, int나 str 같은 데이터 타입의 경우 불변 객체이기 때문에 함수 내에서 값을 변경하려 해도 원래 객체에는 영향을 미치지 않게 된다. 반면, list나 set 같은 가변 객체의 경우 함수 내에서 변경을 시도하면 원래 객체도 변경된다. 즉, call by value와 call by reference가 혼합된 형태라고 이해하면 된다.
객체 참조 전달 방식
불변 객체 → call by value
가변 객체 → call by reference
728x90
'Basics (종료) > For KR' 카테고리의 다른 글
[IntelliJ] Ctrl + Shift + F10, Run 단축키 안 될 때 (0) | 2024.12.10 |
---|---|
[DS] 스택, 큐, 덱 (0) | 2024.11.26 |
[Python] 시간 복잡도: 문자열 결합 연산 쓰지 마! (0) | 2024.11.19 |
[Python] 연결리스트: 노드가 주소를 가리킨다고? (0) | 2024.11.12 |
[Python] 배열: 인덱스의 시작은 0인가, 1인가? (8) | 2024.11.05 |