728x90
반응형
순서
1. 변수란?
2. 변수의 복사
3. 변수 생성 방법
1. 변수란?
자료형의 값을 담는 공간이다.
객체를 가리키는 것이라고도 말할 수 있다.
1. 변수의 모양
변수 이름 = 저장할 값
2.
>>> a = [1, 2, 3]
>>> id(a)
4303029896
2.
[1, 2, 3] 값을 가지는 리스트 자료형(객체)이 자동으로 메모리에 생성되고
변수 a는 [1, 2, 3] 리스트가 저장된 메모리의 주소를 가리키게 된다.
id()는 변수가 가리키고 있는 객체의 주소 값을 돌려주는 파이썬 내장 함수.
2. 변수의 복사
변수끼리의 복사는 같은 대상을 가르키기 때문에 하나의 객체만을 다룬다.
>>> a = [1,2,3]
>>> b = a
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
>>> id(a)
2295820253952
>>> id(b)
2295820253952
위의 예시에서 확인 가능하듯이 같은 객체의 주소를 반환하는 것을 알 수 있다.
( id() : 그 객체의 고유 주소 값을 반환하는 함수)
따라서 내용물은 같지만 다른 객체를 만들기 위해서는 다음의 방법들이 필요하다.
2 - 1. [:] 이용
>>> a = [5, 6, 7]
>>> b = a[:]
>>> a[1] = 4
>>> a
[5, 4, 7]
>>> b
[5, 2, 7]
>>> id(a)
2295820253952
>>> id(b)
2295819959232
[:]를 이용해 리스트 자체를 전체 복사하면
b는 다른 고유주소를 가진 객체가 되고 b에는 영향이 없음 알 수 있다.
2 - 2. copy 모듈 이용
>>> from copy import copy # copy 함수를 사용하기 위한 구문
>>> a = [1, 2, 3]
>>> b = copy(a) # a.copy() 이걸로 사용해도 같음
>>> id(a)
2295820253952
>>> id(b)
2295819959232
마찬가지로 리스트 자체를 전체 복사하면
b는 다른 고유주소를 가진 객체가 되고 b에는 영향이 없음 알 수 있다.
3. 변수 생성 방법
1.
a, b = ('Jin', 'yo')
>>> a
'Jin'
>>> b
'yo'
2. 1번과 동일하다.
(a, b) = 'Jin', 'yo' # 튜플은 ( ) 생략이 가능하다.
[a,b] = ['Jin', 'yo']
728x90
반응형
'파이썬(Python) > 파이썬(Python) 기초' 카테고리의 다른 글
파이썬(Python) 3장 제어문 - 2. while문 (0) | 2022.07.04 |
---|---|
파이썬(Python) 3장 제어문 - 1. if문 (0) | 2022.07.01 |
파이썬(Python) 2장 자료형 - 7. 불 자료형 (0) | 2022.07.01 |
파이썬(Python) 2장 자료형 - 6. 집합 자료형 (0) | 2022.07.01 |
파이썬(Python) 2장 자료형 - 5. 딕셔너리 자료형 (0) | 2022.07.01 |
댓글