본문 바로가기

Python/기초49

[파이썬/Python] 얕은 복사(Shallow copy)와 깊은 복사(deep copy)에 대한 완벽 정리 얕은 복사와 깊은 복사에 대한 정의 mutable 객체, 그것이 문제로다. 파이썬에서는 immutable 객체와 mutable 객체가 있습니다. immutable 객체는 값을 바꿀 수 없는 객체입니다. 값이 바뀌면 다른 메모리 공간을 할당하여 주소값도 바꿔줘야 합니다. 반면, mutable 객체는 주소값이 동일하더라도 그 안의 값을 바꿀 수 있는 객체입니다. 파이썬에서 흔히 사용되는 int, str, float, boolean, tuple의 자료 유형이 immutable 객체에 포함됩니다. 반면 list, dict, set은 mutable 객체에 포함됩니다. 이 개념에 대해 잘 모르신 분들은 이전 글을 꼭 읽어봐 주세요. 얕은 복사와 깊은 복사는 mutable 객체를 복사할 때만 신경 써주시면 됩니다. .. 2023. 7. 5.
[파이썬/Python] immutable과 mutable 객체 immutable과 mutable 객체, 왜 알아야 하나요? 코딩을 공부하시다 보면, 깊은 복사와 얕은 복사에 대한 개념을 종종 접할 때가 있습니다. 이 개념에 대해 모르고 사용하시는 분들도 많으신데요. 평소에는 크게 문제가 되지 않지만, 간혹 얕은 복사가 필요할 때 깊은 복사를 하거나 그 거꾸로인 경우로 인해 코드의 결과값이 달라지는 경우가 생깁니다. 별다른 에러 메시지가 나오지 않기 때문에, 이 개념을 모르신다면 관련 에러를 디버깅하는데 어려움을 겪을 수 있습니다. 물론 파이썬을 공부하는 입장에서는 당연히 기초를 튼튼히 한다는 생각으로 공부하시면 좋을 것 같습니다. 얕은 복사와 깊은 복사에 대해서는 다음 시간에 상세하게 설명드리겠습니다. 이번 시간에는 근간이 되는 immutable, mutable 객.. 2023. 7. 4.
[파이썬/Python] 정수(Integer) 2탄: 메모리 할당 이전 시간에는 파이썬에서 정수형의 정의와 무제한의 크기를 가질 수 있는 이유, 임의 정밀도에 대해 공부했습니다. 관련 내용이 궁금하시다면 아래 게시글 참고 부탁드립니다. [파이썬/Python] 정수(Integer) 1탄: 임의 정밀도에 대하여 [파이썬/Python] 정수(Integer) 1탄: 임의 정밀도 정수(Integer)의 정의와 임의 정밀도 파이썬에는 여러 데이터 유형(Type)이 있습니다. 그중, 정수(Integer) 형이란 소수점이 없는 0, 음수, 양수를 의미합니다. 파이썬은 객체 지향 언어이므로, 모든 개 kevinitcoding.tistory.com 이번 시간에는 정수형만의 독특한 메모리 할당 구조에 대해 알아보도록 하겠습니다. 활용 빈도가 높은 정수의 메모리 할당 파이썬에서는 파일이 실.. 2023. 7. 4.