본문 바로가기
목차
Python

[Python] mutable and immutable: Mutability

by ds31x 2024. 2. 3.
728x90
반응형

Mutability

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

 

 Python에서 Object 는

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

를 가지는데,

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

 

object에 대한 복습: https://dsaint31.tistory.com/518#Python%EC%97%90%EC%84%9C%20Object%EB%9E%80-1-1

 

[Python] Strong Typing이란? with Object

Strong Typing 이란?Python은 object에 대해 Strong Typing을 채택하고 있다.이는 Object가 mutable type이냐 immutable type이냐에 상관없이 implicit type conversion이 엄격하게 제한됨을 의미한다. 좀더 정확하게는 서로

dsaint31.tistory.com


Mutable 객체와 Immutable 객체

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

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

 

Function등에서 argument로 mutable type을 넘겨줄 경우, 주의를 기울여야 함: C/C++에서의 Call by Reference 의 경우와 유사
(function 내에서 변경이 function 외에서도 영향을 줌).

 

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

 


같이 보면 좋은 자료들

https://dsaint31.tistory.com/518

 

[Python] Strong Typing이란? with Object

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

dsaint31.tistory.com

https://dsaint31.tistory.com/515

 

[Python] (Data) Type: Summary

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

dsaint31.tistory.com

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

 

BME

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

dsaint31.me


 

 

728x90