변수(Variable)
변수 : 자료형의 값을 저장하는 공간
파이썬에서 변수는 객체라고 봐도 무방함
변수가 생성되는 과정
a = [1, 2, 3]
[1, 2, 3] 값을 가지는 리스트 자료형(객체)가 자동으로 메모리에 생성됨
a는 [1, 2, 3]이 저장된 메모리 주소를 가리킨다.
a 변수가 가리키는 주소
a = [1, 2, 3] id(a) res : 4304411776 # 변수의 주소
- 변수의 주소는 실행될 때 마다 다름
리스트를 복사할 때
a = [1, 2, 3] b = a
b 와 a 는 완전히 동일하다. b가 a의 주소를 받은거다. (C의 포인터에서 얕은 복사느낌)
id(a) == id(b) # 또는 a is b (a와 b가 가리키는 객체가 동일하나요?) res : true
a[1] = 4 b[1] res : 4 --> 같은 곳을 가리키고 있기 때문
리스트 복사할 때 두 객체가 다른 곳을 가리키고, 값만 같게 복사하는 방법
[:]사용
a = [1, 2, 3] b = a[:] # a의 처음부터 끝까지 슬라이싱
copy 모듈 사용
from copy import copy a = [1, 2, 3] b = copy(a)
변수를 만드는 여러가지 방법
a, b = ('python', 'life') 튜플로 a, b에 값을 대입할 수 있다.
[a,b] = ['python', 'life'] 처럼 리스트로 변수를 만들 수도 있다.
a = b = 'python' --> 여러개의 변수에 같은 값을 대입할 수 있다.
두 변수의 값 바꾸기 (swap)
a = 3 b = 5 a, b = b, a # a와 b의 값을 바꿈
참조) Do it! 점프 투 파이썬 (박응용 지음)
'Programming Language > Python' 카테고리의 다른 글
[Python] 10. if 문(if statements) (0) | 2023.11.05 |
---|---|
[Python Advanced] Object(객체) 저장 구조에 대한 탐구 (0) | 2023.11.05 |
[Python] 08. 불(bool) 자료형 (0) | 2023.11.05 |
[Python] 07. 딕셔너리(Dictionary) 자료형 (0) | 2023.11.05 |
[Python] 06. 집합(set) 자료형 (0) | 2023.11.05 |