파이썬 입문
<점프 투 파이썬>02-8 변수, 자료형의 값을 저장하는 공간
explorer999
2023. 7. 30. 20:24
변수(variable)란 데이터(data)를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미합니다.
즉, 변수란 데이터(data)를 저장할 수 있는 메모리 공간을 의미하며, 이렇게 저장된 값은 변경될 수 있습니다.
(출처: TCP School)
0. 변수란?
a=[1, 2, 3]이라는 식이 있다고 하자.
여기서 a는 변수, [1, 2, 3]은 a라는 변수에 저장된 리스트이다.
변수 a는 이 리스트가 저장된 메모리의 주소를 가리키는 값이다.
실제 주소는 id(a)를 통해 확인할 수 있다.
id(a)
4303029896 = 메모리 내에 저장된 실제 주소
a 는 리스트가 저장된 저장 공간의 이름으로, a라는 변수가 가리키는 주소값은 4303029896 이다.
1. 변수 b에 대하여
b=a
라고 선언하면, 변수 a와 변수 b 가 가리키고 있는 주소값이 동일하다는 것을 의미한다.
[1, ,2, 3]이라는 리스트를 참조하는 변수가 a 한 개에서 a와 b 두 개로 늘어났다는 것이므로,
a의 요소값이 바뀌면 b의 요소값도 자동으로 바뀐다.
한편,
b = a[:]
from copy import copy
b=copy(a)
b=a.copy()
위의 세 가지 식을 이용하면 변수 b는 변수 a의 요소 값을 그대로 복사하지만,
a와는 다른 주소를 가리키는 변수가 된다.
따라서 a리스트 값을 바꾸더라도 b리스트 값은 변하지 않는다.
2. 두 변수의 값 바꾸기
>>> a = 3
>>> b = 5
>>> a, b = b, a
>>> a 5
>>> b 3