728x90
반응형
파이썬의 immutable객체와 mutable객체
공부에 참고한 게시물 :
https://blockdmask.tistory.com/570
파이썬의 객체는 immurable(불변하는)객체와 mutable(변하기 쉬운)객체로 나뉜다. 주소를 가지는 방식이 다른 것인데, 간단히 정리하면 아래와 같다.
- immutable = 객체의 값이 같은 경우에 변수에 상관없이 같은 곳을 참조 (int, str, float...)
ex) n1 = 1, n2 = 1이라고 했을때 hex(id(n1)) == hex(id(n2))가 되는 것이다.
str과 같은 예외가 았지만 보통 immutable 객체는 값을 따르기 때문에 객체의 값이 변화하면 그 주소값도 변화하고 그 변화한 객체 값이 같으면 다른 변수여도 같은 주소를 가르킨다. - mutable = 객체의 값이 같아도 변수에 따라 다른 곳을 참조 (list, set, dictionary...)
ex) arr1 = [1, 2], arr2 = [1, 2]이라고 했을때 hex(id(arr1)) == hex(id(arr2))가 되는 것이다.
mutable 객체는 객체의 값이 변화한다 하여도 가르키는 주소의 값은 변수 를 따르기 때문에 변화가 없다.
728x90
반응형
'Python공부 > 기초공부' 카테고리의 다른 글
[python] list , set, dictionary의 복사 (copy 모듈) (0) | 2023.04.22 |
---|