파이썬 프로그래밍의 기초, 자료형(점프 투 파이썬) 8. 변수와 관련된 정보

2018. 1. 27. 01:06Python-이론/python

변수란?


변수란 자신이 사용할 데이터를 저장할 공간을 뜻한다. 만약에 a = 3이라는 코드가 있다면 3이 객체이고 a는 변수의 이름이며 3이라는 정수형 객체가 저장된 메모리 위치를 가리키게 된다. 즉 a는 객체가 저장되어있는 메모리 공간을 가리키는 레퍼런스이다.



a = 3
b = 3 
c = 3

a is b
True

a, b, c 모두 같은 객체를 참조하게 된다. 같은 객체라면 이런 상황이 발생하기도 한다.

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

이렇게 되는 이유는 a와 b가 서로 같은 객체를 가리키고 있기 때문이다. 이러한 문제를 해결하기 위해서는 두가지 방법이 있는데

방법 1 [:]의 이용
a = [1,2,3]
b = a[:]
a[1] = 4
a
[1,4,3]
b 
[1,2,3]
방법 2 copy 모듈이용
from copy import copy 
b = copy(a)

b is a
 
False

false를 반환 하므로 서로 다른 객체를 가리키는 것을 알 수 있다.