본문 바로가기
Python

[Python] mutable and immutable: Mutability

by ds31x 2024. 2. 3.

Python에서 Data Types를 구분짓는 중요 속성.

 

 Python에서 Object 는

  • id,
  • type,
  • value,
  • reference count

를 가지는데,

이 중 value를 변경할 수 있는지를 나타내는 것이 바로 mutability임.

 

Mutable인 type의 object(객체)는 자신의 value를 다른 값으로 변경할 수 있음.

하지만 immutable type의 object는 자신의 value를 초기에 할당받고 나서는 다른 값으로 변경이 안됨.

 

Function등에서 argument로 mutable type을 넘겨줄 경우, 주의를 기울여야 함
(function 내에서 변경이 function 외에서도 영향을 줌).

 

주의할 것은 mutable이나 immutable이냐에 상관없이
Python에서
object는 type을 변경할 수 없는 Strong Typed임을 명심할 것.
Variable이 자유롭게 다른 object를 가르키도록(refer to) 할 수 있는 것이지 object 자체는 strong typed임.

 

다음의 URL을 참고할 것.

https://dsaint31.tistory.com/518

 

[Python] Strong Typing이란? with Object

Python은 Strong Typing을 채택하고 있다. 이는 Object가 mutable type이냐 immutable type이냐에 상관없이 type이 변경되지 않음을 의미한다. 주의할 건, Object가 대상인 점이다. Python에서 Object는 memory에 할당된

dsaint31.tistory.com

https://dsaint31.tistory.com/515

 

[Python] (Data) Type : Summary

1. Type 이란? Programming에서 사용되는 모든 value 혹은 object 들의 종류 를 (data) type이라고 부름. 수학에서 숫자의 종류(type)를 실수, 정수, 자연수 등으로 나누는 것을 생각하면 쉽다. Programming에서는

dsaint31.tistory.com

https://dsaint31.me/mkdocs_site/python/oop/oop_0_01_Object/#python-object

 

BME228

Object (객체) 란 보거나 만질 수 있는 사물 (공간을 차지하고 있는 물질적인 사물) OOP에선 Concept(개념) 도 Object 임. Application(응용프로그램)에서, 명확한 한계와 의미를 가지고 있는 사물 이나 개념,

dsaint31.me