파이썬/파이썬 기초

파이썬 자료형의 값을 저장하는 공간, 변수

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]

위와 같은 상황을 방지하기 위해서

  1. [:] 이용
c=[1,2,3]
d=c[:]

c[1]=4
print(c)
print(d)
[1, 4, 3]
[1, 2, 3]
  1. 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