변수란?
: 파이썬에서 사용하는 변수는 객체를 가리키는 것이라고 말할 수 있다.
객체란, 지금까지 보아 온 자료형의 데이터(값)와 같은 것을 의미하는 말이다.
변수 사용법
변수_이름 = 변수에_저장할_값
-> 변수를 만들 때는 위 예처럼 =(assignmnent) 기호를사용한다.
-> 다른 프로그래밍 언어(C, Java...)에서는 변수를 만들 때 자료형의 타입을 직접 지정하지만
파이썬은 변수에 저장된 값을 스스로 판단하여 자료형의 타입을 지정한다.
>>> a = [1,2,3]
>>> id(a)
2240951386432
=> a = [1,2,3]이라고 하면 [1,2,3]값을 가지는 리스트 데이터(객체)가 자동으로 메모리에 생성되고 변수 a는 [1,2,3] 리스트가 저장된 메모리의 주소를 가리키게 된다.
- id()
: 객체의 주소값을 리턴하는 파이썬의 내장 함수
리스트 복사
>>> a = [1,2,3]
>>> b = a
>>> id(b)
2240951382592
>>> id(a)
2240951382592
>>> a is b
True
=> b와 a는 완전히 동일하다고 할 수 있다.
다만, [1,2,3]이라는 리스트 객체를 참조하는 변수가 a 변수 1개에서 b 변수가 추가되어 2개로 늘어났다는 차이만 있다.
>>> a[1]=4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
=> a의 두번쨰 요소값을 바꾸었더니 a만 바뀌는 것이 아니라 b도 똑같이 바뀌었다.
a와 b 모두 동일한 리스트를 가리키고 있기 때문이다.
Q. b 변수를 생성할 때 a 변수의 값을 가져오면서 a와 다른 주소를 가리키도록 만드는 방법
1. [:] 이용하기
>>> a = [1,2,3]
>>> b = a[:] # 리스트 a의 처음 요소부터 끝 요소까지 슬라이싱
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 2, 3]
=> a의 리스트 값을 바꾸더라도 b에는 아무런 영향이 없다.
2. copy 모듈 이용하기(from copy import copy)
>>> from copy import copy # copy 모듈에 있는 copy 함수 import
>>> a = [1,2,3]
>>> b = copy(a) # copy 함수 사용
>>> b is a
False
=> b = copy(a)는 b = a[:]와 같다
=> 두 변수의 값은 같지만, 서로 다른 객체를 가리키고 있다.(False 리턴)
3. copy 함수 사용하기
: copy 함수를 사용해도 copy 모듈을 사용하는 것과 동일한 결과를 얻을 수 있다.
>>> a = [1,2,3]
>>> b = a.copy() # 파이썬 리스트에 내장된 copy 함수 사용
>>> b is a
False
변수를 만드는 여러가지 방법
1. 튜플로 a,b에 값을 대입하기
>>> a,b = ('python','life')
>>> (a,b) = 'python','life'
=> 두 개는 완전 동일하다 (튜플은 괄호 생략 가능)
2. 리스트로 변수 만들기
>>> [a,b] = ['python','life']
>>> a
'python'
>>> b
'life'
3. 여러 개의 변수에 같은 값 넣기
>>> a = b = 'python'
>>> a
'python'
>>> b
'python'
4. 두 변수의 값 바꾸기
>>> a = 3
>>> b = 5
>>> a,b = b,a
>>> a
5
>>> b
3
'Python > Do it 점프 투 파이썬' 카테고리의 다른 글
파이썬 프로그래밍 기초 - while문 (0) | 2025.04.01 |
---|---|
파이썬 프로그래밍 기초 - if문 (0) | 2025.03.31 |
파이썬 프로그래밍 기초 - 집합 자료형 / 불 자료형 (2) | 2025.03.24 |
파이썬 프로그래밍 기초 - 리스트/튜플 자료형 (0) | 2025.03.12 |
파이썬 프로그래밍 기초 - 문자열 관련 함수들 (0) | 2025.03.11 |