파이썬에서의 변수

# 형태 : 변수명 = 변수에 저장할 데이터

a = 1
b = "hello"
c = [1, 2, 3]

(d, e) = ('hello', 'world') # 튜플을 이용해 여러 변수에 대입 가능
[f, g] = ['hello', 'world'] # 리스트을 이용해 여러 변수에 대입 가능

h = i = 123 # 여러개의 변수에 같은 값 대입 (같은 곳을 가리킴)

리스트를 다른 변수에 복사하는 방법

a = [1, 2, 3]
b = a

id(a)
id(b)
a is b # a변수와 b변수가 가리키는 객체가 동일한지 체크하는 파이썬 명령어

'''
<결과>
4203029456
4203029456
True
'''

이와 같은 방법으로 ba를 대입하는 방법은 ab가 동일한 메모리 공간을 가리키는 것이다.

이 방법의 문제는 변수a를 이용해 리스트를 수정하면, 변수b 또한 동일한 데이터를 가리키므로 변수b를 이용해 참조해도 바뀐 데이터가 참조된다.

서로 다른 주소의 변수에 복사하는 방법