01. 변수와 메모리
안녕하세요. 이전 포스팅 에서는 우리가 Python 코딩을 하기 위한 개발환경을 이루는 요소들에 대해서 다루면서 OS, 인터프리터, 에디터 에 대해서 얘기를 해봤는데요. 이번 포스팅 부터는 본격적으로 Python 코딩에 대해서 시작하겠습니다.
혹시 본인 노트북에 개발환경세팅을 하는것에 어려움이 있었다면, Google 에서 제공하는 Colab 을 이용해서 코딩을 해보시는 것을 추천합니다.
Google Colab 은 클라우드 기반의 무료 Jupyter Notebook
에디터 형태로 Python 스크립트
를 작성하고 실행할 수 있는 개발환경 입니다. Colab에 대해서 잘 정리된 글과 Colab URL은 Reference에 적어두겠습니다.
변수와 메모리
우선 변수와 메모리 에 대해서 개념을 짚고 넘어가겠습니다.
1 | name = "keunbit" |
keunbit
자, 위 코드를 봤을 때 감각적으로 이해가 되시지 않나요? Python 이라는 언어가 굉장히 배우기 쉽고 개발자 친화적 이라고 설명드린 이유입니다. 저 한 줄을 읽었을 때 이정도 의미로 생각할 수 있겠네요.
- name은 keunbit이다
- name과 keunbit은 같다
- name을 keunbit으로 정의한다.
좀 더 개발자(?)스럽게 생각을 해보죠, “name이라는 변수에 “keunbit”이라는 값을 할당한다” 라고 얘기하는게 맞습니다. (정확하게 설명하자면, 문자열 타입의 Object를 만들어서 name이라는 변수가 그 Object를 가리키는 것 입니다.) - Everything is object in Python -
중요한 것은 가리킨다 라는 의미인데요. 좀 더 예시를 들어보겠습니다.
1 | name = "keunbit" |
keubit 이라는 str Object를 만들고
변수 'name'이 가르키는 주소는 140342633259056 입니다.
1 | name1 = name2 = 'daehwan' |
daewhan 이라는 str Object를 만들고
변수 name1이 이 Object를 가르킵니다. 주소는 140342098563568 입니다.
변수 name2이 이 Object를 가르킵니다. 주소는 140342098563568 입니다.
위 코드를 그림으로 표현하면 다음과 같이 표현할 수 있습니다.
네 그림을 보시면 조금은 이해가 되실 것 같은데요. 그러면 변수를 선언하고 정의하는 과정은 이해가 되셨을테니, 변수 네이밍에 대한 얘기를 하겠습니다. 저는 지금 예시를 들면서 변수를 name
, name1
, name2
라고 네이밍을 했는데요. 몇가지 rule이 있습니다.
1 | 1. 특별한 의미가 있는 `예약어`는 쓰지 않는다 |
1 | 1. 의미 있는 단어로 표기하는 것이 좋다 (다른 사람이 봤을 때 무엇을 뜻하는지를 바로 알 수 있도록!) |
결론
변수명을 짓는 것은 간단해 보이지만 사실은 굉장히 중요한 일 중 하나 입니다. 나중에 다루겠지만, 함수명을 작성하는 것 또한 매우 중요한데요. 네이밍을 잘 지을수록 협업하는 사람과의 코드 공유가 잘되고 커뮤니케이션이 잘 될 수 있기 때문입니다. 앞으로 개발 연습을 하시면서, 변수 네이밍도 신경을 쓰면서 작성하시는 것을 추천합니다.
데이터 타입 도 이번 글에 포함하려 했지만, 굉장히 중요한 내용이기에 다음 포스팅에서 좀 더 자세히 다루면 좋을 것 같습니다. 다음 포스팅을 보시면 위에서 언급했던 str
그리고 Object
가 무엇인지 이해가 되실 것 같습니다.
이상으로 이번 포스팅은 마치겠습니다. 추가 의견이나 수정이 필요한 부분이 있다면 언제든지 거침없는 피드백 부탁드립니다! 부족한 글 읽어주셔서 감사합니다!