728x90
01. mutable과 immutable
- mutable : 생성된 후에 변경이 가능한 자료형
- 리스트, 세트, 딕셔너리
- immutable : 생성된 후에는 변경이 불가능한 자료형
- 정수, 실수, 문자열, 튜플
- id() : 변수나 자료형의 메모리 주소를 확인
02. mutable
me = [1, 2, 3]
print(id(me))
2877366159488
me.append(4)
print(id(me))
2877366159488
me
[1, 2, 3, 4]
03. immutable
me = 10
print(id(me))
140726437685976
me += 1
print(id(me))
140726437686008
04. mutable의 특징
me = [1, 2, 3]
you = me
print(id(you))
print(id(me))
2877366041024
2877366041024
※id가 바뀌지 않음
you.append(4)
print(you)
[1, 2, 3, 4]
print(me) ###you에만 append를 해도 me에도 영향을 미친다
[1, 2, 3, 4]
05. 리스트의 복사
#안전하게 복사하는 방법
print(me)
print(id(me))
[1, 2, 3, 4]
2877366041024
you = me[:] ##이 요소를 기반으로한 새로운 튜플을 만드므로, 영향을 미치지 않는다(id가 바뀜)
print(you)
print(id(you))
[1, 2, 3, 4]
2877366438976
me.append(5)
print(me)
print(you)
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
# copy 함수 사용
you = me.copy()
print(me)
print(you)
print(id(me))
print(id(you))
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
2877366041024
2877366550720
me.append(6)
print(me)
print(you)
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5]
728x90
'01_Python' 카테고리의 다른 글
29_제어문>조건문 (0) | 2025.01.07 |
---|---|
28_사진넣기 (0) | 2025.01.07 |
26_컬렉션>세트 (1) | 2025.01.07 |
25_컬렉션>딕셔너리 (0) | 2025.01.07 |
24_컬렉션>튜플 (0) | 2025.01.07 |