해당 포스팅은 컴퓨터 사이언스 부트캠프 with 파이썬(양태환 저)를 보고 공부하며 개인적인 용도를 위해 정리한 글이다.
메모리
32비트와 64비트의 의미
- 데이터를 한 번에 보낼 수 있는 비트의 수
- 32비트는 한 번에 32비트를, 64비트는 한 번에 64비트를 보낼 수 있다.
- 한 번에 64비트를 보낼 수 있다는 의미는 메모리주소를 64비트로 표현한다는 의미.
메모리에 우편번호를 매긴다
- 위에서 말한 것처럼 32비트는 메모리주소를 32비트로 표현한다고 하였는데, 32비트는 \(2^{32} = 4,294,967,296\) 개를 표현할 수 있다.
- $4,294, 967,296$ 은 \(4 * 1024 * 1024 * 1024\) 이므로 4GB 를 나타낸다.
- 예전 32비트 컴퓨터가 램을 4GB 이상 사용하지 못하는 이유이다.
- 64비트는 $2^{64}$ 이므로 훨씬 많이 사용 가능.
변수의 의미
- 변수는 데이터를 저장할 수 있는 메모리 공간을 의미.
- 단순한 이름이 아니라 메모리 공간 자체를 의미한다.
- 숫자와 문자 뿐만 아니라 객체와 함수까지도 담을 수 있다.
- 변수에 담긴 값이나 가리키는 대상은 언제라도 변경 가능.
Python 과 다른 언어와의 변수 선언의 차이
C 언어
- C 언어 및 대부분의 언어는
int num = 5;
라는 식으로 변수를 선언했을 때num
이라는 변수에5
라는 값을 담는다.
Python
- Python 의 경우에는
num = 5
라는 식으로 선언한 경우num
이라는 이름에5
라는값 객체
를 가리킨다. - C 언어는 선언 된 변수 안에 값이 담겨있고 Python 은 선언 된 변수가 값 객체를 가리킨다.
- Python 은 모든 것이 객체다.