파이썬/파이썬 기초
파이썬 자료형의 값을 저장하는 공간, 변수
yimstar9
2022. 12. 13. 01:54
반응형
파이썬에서는 같다 라고 선언하면 주소값 까지 같다고 본다.
그래서 추후에 한쪽 변수를 바꿔줘도 다른 한쪽 변수가 변하는 상황이 생긴다.
a = [1,2,3]
b = a
print(id(a))
print(id(b))
1906865579072
1906865579072
a[1]을 4로 바꿔줫더니 b도 바뀌는 상황이 발생한다.
a[1] = 4
print(a)
print(b)
[1, 4, 3]
[1, 4, 3]
위와 같은 상황을 방지하기 위해서
- [:] 이용
c=[1,2,3]
d=c[:]
c[1]=4
print(c)
print(d)
[1, 4, 3]
[1, 2, 3]
- copy모듈 이용
from copy import copy
e=[1,2,3]
f=copy(e)
e[1]=4
print(e)
print(f)
[1, 4, 3]
[1, 2, 3]
또한 두 변수의 값을 바꾸는 경우 파이썬은 아주 간단하게 바꿀 수 있다.
a = 3
b = 5
a, b = b, a
print("a=",a,"b=",b)
a= 5 b= 3