본문 바로가기

P-Language/Python

[6일차] 자료형의 값을 저장하는 공간, 변수

변수란?

변수명 = 변수에 저장할 값

# 변수의 예
a = 1
b =“Python”
c =[1,2,3]

변수를 만들때는 = assignment기호를 사용
C언어나 JAVA처럼 변수의 자료형을 함께 쓸 필요가 없다.
파이썬은 변수에 저장된 값을 스스로 판단하여 자료형을 알아낸다.

변수는 객체를 가리키는 것
객체 : 파이썬에 사용되는 모든 것

a=3이라고 가정하면, 3이라는 값을 가지는 정수 자료형(객체)이 자동으로 메모리에 생성
a는 변수이름, 3이라는 정수형 객체가 저장된 메모리 위치를 가리킨다.
변수a는 객체가 저장된 메모리의 위치를 가리키는 레퍼런스.

* 레퍼런스 카운트 : 객체를 가리키고 있는 변수의 개수


변수를 만드는 여러가지 방법

# 튜플 대입
a,b = (‘pyhton’,’life’)
(a,b) = ‘python’,’life’

# 리스트 변수
[a,b] = [‘python’,’life’]

# 여러개의 변수에 값은 값 대입
a = b = ‘python’


가비지 콜렉션 Garbage collection , 쓰레기 수집
: 레퍼런스 카운트가 0이 되는 순간 저장된 객체가 자동으로 사라진다.
즉 메모리에 생성된 변수 없애기

a = 3
b = 3
del(a)
del(b)


리스트를 변수에 놓고 복사

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


b 변수를 생성할때 a 와 같은 값을 가지도록 복사해 넣으면서, a 가 가리키는 리스트와는 다른 리스트를 가리키게 하는 방법

# [:] 이용하기
a =[1,2,3]
b = a[:] <- a리스트 전체를 복사하여 b에 대입
a[1] = 4
a
[1,4,3]
b
[1,2,3]

# copy모듈 이용
from copy import copy
b = copy(a) <- b=a[:]와 동일함

# 두 변수가 같은 값을 가지면서 다른 객체를 제대로 생성했는지 확인 하는 방법
b is a
False

서로 동일한 객체인지 아니인지 판단하여 참/거짓을 리턴함

'P-Language > Python' 카테고리의 다른 글

[8일차] While문  (0) 2022.06.01
[7일차] if문  (0) 2022.05.31
[6일차] 자료형의 참과 거짓  (0) 2022.05.28
[5일차] 집합 자료형  (0) 2022.05.27
[4일차] 딕셔너리 자료형  (0) 2022.05.26