본문 바로가기

Python 기초

1. 변수

💫

'=' 은 '같다' 가 아닌 '오른쪽에 있는걸 왼쪽에 넣는다' 라고 표현하는게 정확하다.

또한 파이썬에서 사용하는 변수는 객체를 가리킨다. 

 

ex ) >>> a = 3

 

1) 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성

 

2) 변수 a는 객체가 저장된 메모리의 위치를 가리키는 레퍼런스(reference)

 

3) a라는 변수는 3이라는 정수형 객체를 가리킨다

 

a = [1,2,3]

b = a

a[1] = 4

print(id(b))
print(id(a))

 

 

위처럼 코드를 작성할 경우, 

 

b = a의 주소를 갖게 되기 때문에 a[1] = 4로 바뀌면 b = [1,2,3] 이 아닌 [1,4,3] 을 갖게 된다.

 

 

print output = 140179602853128 

즉, a 와 b가 동일한 주소를 갖는다는걸 알 수 있다.

 

이 때, 기존의 값을 바꾸고 싶으면 슬라이싱 을 이용하면 된다.

 

a = [1,2,3]

b = a[:]

a[1] = 4

print(b)
print(a)

print(id(b))
print(id(a))

 

 

 

주소를 복사한 것이 아닌 값을 복사한 것이기 때문에 위와 같은 결과가 출력된다. 즉, a와 b 의 주소는 다르다.

 

 

'Python 기초' 카테고리의 다른 글

6. 딕셔너리  (0) 2022.01.24
5. 리스트 & 튜플  (0) 2022.01.24
4. 문자열 포메팅  (0) 2022.01.24
3. 코드업 기초 100제(1~100)  (0) 2022.01.24
2. 제어문  (0) 2021.09.11