Dia Egg - Shugo Chara

Python공부/기초공부

[python] mutable객체와 immutable객체

별ㅇI 2023. 4. 22. 15:28
728x90
반응형

파이썬의 immutable객체와 mutable객체

 

공부에 참고한 게시물 :

https://blockdmask.tistory.com/570

 

[python] 파이썬 mutable, immutable 객체에 관해서

안녕하세요. BlockDMask입니다. 오늘은 파이썬에 있는 mutable 객체, immutable 객체에 대한 차이점에 대해서 알아보겠습니다. 1. 파이썬 mutable, immutable 설명 2. 파이썬 mutable, immutable 값이 변경될 때 에제

blockdmask.tistory.com

 

파이썬의 객체는 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