728x90 Recursion2 [PYTHON] 객체 복사의 2가지 메커니즘 : copy와 deepcopy의 내부 순회 방식 차이 해결 파이썬에서 가변 객체(Mutable Objects)를 다룰 때 가장 흔하게 발생하는 실수 중 하나는 '참조 복사'와 '실제 복사'를 혼동하는 것입니다. 단순히 리스트나 딕셔너리를 복사했다고 생각했지만, 원본 데이터를 수정했을 때 복사본까지 함께 변경되는 당혹스러운 경험을 해보셨을 것입니다. 본 가이드에서는 파이썬의 copy 모듈이 내부적으로 객체를 어떻게 트리 구조로 탐색하고 복제하는지, 그 기술적 깊이를 분석하여 데이터 무결성을 지키는 방법을 제시합니다.1. 객체 복사의 근본적 이유와 메모리 참조파이썬의 모든 것은 객체입니다. 변수는 객체를 담는 그릇이 아니라 객체의 메모리 주소를 가리키는 '포인터'에 가깝습니다. 따라서 b = a와 같은 할당문은 객체를 복사하는 것이 아니라 주소값만 전달합니다. 이를.. 2026. 3. 3. [PYTHON] 재귀 함수(Recursive Function)의 마법 : 원리와 실전 설계 전략 단순 반복문을 넘어 논리적 우아함을 구현하는 재귀적 사고방식(Recursive Thinking)의 모든 것1. 재귀 함수란 무엇인가? (The Essence of Recursion)프로그래밍의 세계에서 재귀(Recursion)는 함수가 자기 자신을 다시 호출하여 문제를 해결하는 기법을 말합니다. 이는 마치 거울 두 개를 마주 보게 놓았을 때 끝없이 펼쳐지는 이미지나, 러시아의 인형 '마트료시카'와 같습니다. 커다란 인형을 열면 똑같이 생긴 조금 더 작은 인형이 나오고, 그 안에 또 작은 인형이 들어있는 구조와 매우 흡사합니다. 재귀는 복잡한 문제를 동일한 형태의 더 작은 하위 문제(Sub-problems)로 쪼개어 해결할 때 매우 강력한 위력을 발휘합니다. 특히 자료구조의 트리(Tree)나 그래프(Gra.. 2026. 2. 13. 이전 1 다음 728x90