컴퓨터 사이언스 부트캠프 with 파이썬 1장 - 변수

|

개인공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.


1장 - 변수

1. 메모리 미리 보기

컴퓨터는 1과 0으로 이루어진 데이터를 처리한다. 이때 1과 0을 표현할 수 있는 데이터 단위를 비트(bit)라고 부른다. 이때 1비트는 0 혹은 1이다. 비트가 여덟 개 모이면 바이트(byte)라고 부르는데, 1바이트는 01011010과 같이 0과 1이 총 여덟개로 구성되어 있다.

컴퓨터를 살 때 램(RAM)의 크기에 대해 이야기하고, 요즘 노트북은 대부분 12GB 혹은 16GB라고 말하는 것을 들어봤을텐데 이때 기가바이트는 1,024 * 1,024 * 1,024 = 1,073,741,824 바이트를 의미한다. 즉 정말 많은 데이터를 저장할 수 있음을 보여준다.

1-1. 32비트와 64비트의 의미

컴퓨터는 데이터단위로 비트를 사용한다. 데이터를 한 번에 몇 개 보낼 수 있는지를 나타내는 지표가 32비트와 64비트이다.

비트 수가 높을수록 한 번에 전송할 수 있는 데이터 양이 많아진다. 한번에 보낼 수 있는 데이터 개수가 32비트면 32비트 컴퓨터이고, 64비트면 64비트 컴퓨터이다. 또한 32비트 컴퓨터는 메모리 주소를 32비트로 표현하고, 64비트 컴퓨터는 64비트로 표현한다.

1-2. 메모리에 우편번호를 매긴다

메모리를 우리나라라고 생각해보자. 메모리에 우편번호처럼 주소를 부여해보되 컴퓨터는 0과 1밖에 모르기때무에 컴퓨터에 주소를 알려주려면 주소도 2진수로 나타내야 한다. 메모리 주소 한개는 메모리에서 1바이트를 가리킨다.

1,024바이트는 1KB, 1,024 * 1,024바이트는 1MB, 1,024 * 1,024 * 1,024바이트는 1GB를 의미한다.

2. 변수의 의미

변수란 데이터를 저장할 수 있는 메모리 공간을 의미한다. 여기서 중요한 점은 변수가 단순한 이름이 아니라 메모리 공간 자체를 의미한다는 점이다. 변수는 숫자와 문자뿐만 아니라 객체, 심지어 함수까지도 담을 수 있다. 변수에 담긴 값이나 가리키는 대상은 언제라도 변경될 수 있기 때문에 변수라 칭한다.

단, 다른 언어에서 말하는 벼수와 파이썬에서 말하는 변수는 약간 차이가 존재한다.

int num = 5;
C언어에서 말하는 변수의 의미

‘C’에서의 변수는 ‘변수’안에 ‘해당 값’이 담겨있다.

3. 파이썬에서의 변수: 이름과 값 객체

파이썬에서 쓰는 변수는 이름과 값 객체로 나눠진다. 파이썬에서 변수라고 부르는 것은 사실 이름이다.

num = 5
파이썬 언어에서 말하는 변수의 의미

num이라는 ‘이름’은 5라는 ‘값 객체’를 가리킨다. num은 5라는 값을 담고 있는 메모리 공간을 의미하지 않고 값 객체는 다른 메모리 공간에 있다.

>>> type(num)
<class 'int'>

이 코드는 num이라는 변수의 타입이 상수가 아니라 int라는 클래스의 인스턴스(객체)라는 것을 뜻한다.