파이썬에서 객체는 변경가능한(mutable) 객체와 변경불가능(immutable) 객체로 나뉜다.

 

mutable객체로는 list, set, dictionary 가 있고

위의 셋을 제외한 bool, int, float등이 immutable객체이다.

list mutable
set mutable
dict mutable
bool immutable
int immutable
float immutable
tuple immutable
str immutable
frozenset immutable

 

mutable


List

x=[1,2,3]
print(id(x))
x[2]=5		
print(id(x))	#값을 바꿔도 주소는 그대로


>>2066410918472
>>2066410918472

 

 

Set

x={0:True,1:True,2:True}
print(id(x))
x[0]=False		#{0:False,1:True,2:True}
print(id(x))	#값을 바꿔도 주소는 그대로

>>3146876058024
>>3146876058024

 

immutable


Int

x=1
print(id(x))
x+=1
print(id(x))

>>140712646963456
>>140712646963488

 

String

x='Python'
x[0]='A'	#에러 발생


>>Traceback (most recent call last):
  File ".....................................", line 2, in <module>
    x[0]='A'
TypeError: 'str' object does not support item assignment
x='Python'
print(id(x))
x+='3'
print(id(x))

>>1813087795312
>>1813087831536

 

 

 

 

 

'Python' 카테고리의 다른 글

Python - 람다함수(익명함수)  (0) 2020.08.24
Python - 전역 변수, 지역 변수  (0) 2020.08.23
Python - 빠른 입력  (0) 2020.08.17
Python - 함수 인자의 개수를 알 수 없을 때  (0) 2020.08.11
Python - 예외처리  (0) 2020.08.10

+ Recent posts