
copy() 함수는 객체의 참조를 복사하는 것이 아니라, 객체의 값을 복사하는 것입니다. 따라서, 원본 객체와 복사된 객체가 같은 메모리 공간을 차지하는 것은 아닙니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
python
import copy
original_list = [1, 2, 3]
copied_list = copy.deepcopy(original_list)
위 코드에서 `copy.deepcopy()` 함수를 사용하여 `original_list` 객체를 복사합니다. 이 때, `original_list`의 값이 `[1, 2, 3]` 인 상태에서 `copy.deepcopy()` 함수를 호출합니다. 따라서, `copied_list`도 `[1, 2, 3]` 값을 가지게 됩니다.
#hostingforum.kr
python
original_list[0] = 'X'
위 코드에서 `original_list[0]`을 변경하면, `original_list`의 값이 `[X, 2, 3]`로 변경됩니다. 하지만, `copied_list`의 값은 `[1, 2, 3]`로 유지됩니다.
#hostingforum.kr
python
print(original_list) # ['X', 2, 3]
print(copied_list) # [1, 2, 3]
위 코드에서 `print()` 함수를 호출하여 `original_list`와 `copied_list`의 값을 출력합니다. 결과적으로, `original_list`의 값은 `[X, 2, 3]`으로 출력되고, `copied_list`의 값은 `[1, 2, 3]`으로 출력됩니다.
따라서, 원본 객체와 복사된 객체가 같은 메모리 공간을 차지하는 것은 아닙니다. 대신, `copy()` 함수는 객체의 참조를 복사하는 것이 아니라, 객체의 값을 복사하는 것입니다.
2025-05-29 18:09