Python을 쓰는 시간 #0. 시작하며

Python을 쓰는 시간 #0. 시작하며

2020-12-18 0 By 커피사유

Python을 쓰는 시간 시리즈는 카페지기 커피사유가 Python에 처음 입문하거나, 동시에 데이터과학을 공부하면서 어떻게 Python을 사용해야 할 지 잘 모르겠는 분들을 위하여 준비한 Python 온라인 강좌 시리즈입니다.

서문

바야흐로, 코딩의 시대이다. 보다 정확하게는, ‘데이터’의 시대이다. 일상 곳곳을 들여다보면 그 어디에서도 우리는 생활 속 뿌리깊은 곳에 자리잡은 ‘데이터과학’의 요소들을 발견할 수 있는 시대이다. 아침 뉴스를 보기 위해서 네이버앱을 실행하면 로그인된 우리 스스로의 정보를 자동으로 분석해서, 맞춤형 헤드라인을 제공하는 뉴스 섹션을 볼 수 있게 된 것은 벌써 오래 전의 일이며, 요즈음 ‘맞춤형’, ‘맞춤형’ 노래를 부르는 기업들이 그들의 고객 데이터에 대한 분석들을 기반으로 출시한 ‘맞춤형’ 운동 기구, ‘맞춤형’ 보험, ‘맞춤형’ 비데까지. 바야흐로, 정말 ‘데이터’의 전성기라 불릴 수도 있을 듯한 시대이다.

이러한 시대의 흐름을 생각해볼 때, ‘데이터’를 보고 다룰 수 있는 능력은 자본주의 체제 내에서는 필수적으로 간주될 것이라고 누구나 예상할 수 있을 것이다. 하지만 정작, 막상 오늘날 중학생, 고등학생들은 최근에 한국 교육 시장에 ‘코딩’의 열풍이 불어와 각종 학원이나 과외가 생기고 성행하고 있지만, 그럼에도 불구하고 ‘코딩’을 모르는 학생도 꽤 있거니와, 이러한 과외나 학원 교육이 ‘실용’의 성격의 코딩을 ‘학문’화 시켜버리는 바람에 흥미를 잃고 떨어져나가는 학생이 생기기도 한다.

‘데이터’를 보고 다루는 능력을 기르기 위해서는, 마치 우리가 학교 수업 시간에 흔히들 배우듯, 강사가 들어와서 ‘이것은 이렇고~ 저것은 저렇고~’라는 식의 설명을 늘어놓는 방법은 사용하여서는 되지 않는다. 우리가 어떤 것을 ‘자연스럽게’ 배우는 과정을 되돌아보라. 당장에 떠오르는 것이 없다면, 우리가 어릴 적에 한글을 어떻게 배웠는지를 생각해보라. 지금의 영어를 배우는 방식처럼 ‘단어’를 단어장을 넘겨가면서 외우고, ‘문법’을 공부하고, ‘토익’, ‘토플’형의 ‘문제’를 푸는 식으로 우리가 한글을 배웠는가? 누구나 대답할 수 있는 것은, ‘그렇지 않다!’이다. 우리는 수많은 노출을 통해서, 수많은 시행착오와 연습을 통해서 한글을 배웠다. 어릴 적 걸음마를 떼기 시작할 무렵, 바닥과 천장에 붙여진 한글자모표, 그런 것들을 우리는 몇 주 넘게 보면서, 그렇게 한글을 떼었다.

‘데이터과학’을 처음 시작하는 것도 ‘한글’을 떼는 것과 그렇게 다르지 않다. 강사가 앞에서 중얼거리는 것은 처음 시작하는 이에게는 절대로 도움이 될 수가 없다. 중요한 것은, 그것을 배우는 이들이 수많은 경험에 노출되는 것, 수많은 예제에 노출되는 것, 그것이기 때문이다.

하지만 이 ‘데이터과학’을 ‘코딩’에 대해서 아무것도 모르는 사람들이 막상 발을 들이기에는 정말 막막한 것이 사실이다. 데이터과학에서 가장 많이 사용되고 있는 언어는 현재 Python인데, 이 Python을 다루어본 경험이 없는 경우, 데이터과학의 이론은 이해할 수 있을지 몰라도 코딩 부분을 이해할 수 없는 경우가 다반사이다. 필자가 이번 Python을 쓰는 시간 시리즈를 준비한 이유가 바로 여기에 있다. 필자는 Python을 ‘데이터과학’을 접해보고자 처음 배우는 독자분들을 위하여, 직접 필자의 부족한 실력이라도 나누겠다는 결심을 얼마 전에 내렸던 것이었다. 처음 해보는 강좌라서, 다소 부족함이 있을수도 있지만, 질문과 독자 여러분들의 너그러운 이해라면 이러한 부담감을 떨쳐내고 최선의 경험을 제공해드릴 수 있을 것으로 확신한다.

강의를 듣기 전에!

필자는 이 Python을 쓰는 시간 강의 포스트를 보는 독자의 상황을 다음으로 가정하였음을 서두에 밝혀둔다.

1. Python이 아닌 다른 프로그래밍 언어(스크래치, 엔트리 등 교육용 제외)를 접한 경험이 있어, 입력과 출력, 자료형에 대한 이해가 어느 정도 있는 독자
2. 컴퓨터에 대한 기본적인 상식을 갖추고 있어, 프로그램 설치와 제거, 인터넷 웹 서치 등을 별 문제 없이 행할 수 있는 독자
3. 데이터과학에 대한 관심으로 Python 학습을 결단한 독자

또한 필자는 Python의 기본적인 설치법과 관련한 포스팅을 따로 올리지는 않을 생각이다. 웹에 이미 여러 사람들이 어떻게 Python을 설치하는지에 대하여 더 친절한 설명을 제공하고 있기 때문이다. 하지만 필자가 적어도 어떤 매뉴얼을 따를 때 최대한 문제 없이 따라갈 수 있는지는 알고 있기 때문에, 다음의 사이트의 매뉴얼을 따라 설치하는 것을 강력히 추천한다.

위키독 – 점프 투 파이썬 – 01-4 파이썬 설치하기

Python 코딩에는 기본적으로 Python을 설치하였을 때 동반하여 설치되는 IDLE를 사용하여도 별다른 문제는 없다. 하지만 필자의 경우는 기본 IDLE의 가독성 등의 불편함 때문에, 다른 IDLE를 사용한다. 인터넷에 Python IDLE를 검색해보면 웹 브라우저 기반의 Jupyter도 간혹 보이고, PyCharm도 보이지만 필자의 픽은 단언컨대 Visual Studio Code이다. 예전에 Visual Studio는 이를테면 Visual Studio 2010의 경우는 설치에만 3시간이 넘게 걸리는 더럽게 길고 복잡한 설치 절차로 그 악명이 높았다. 하지만 최근에 개발된 Visual Studio Code는 비교적 경량인지 빠르게 설치가 끝나고 사용하기도 편한 IDLE로 추천할만 한 듯 하다.

역시 Visual Studio Code에서 Python을 실행하고 사용하는 방법에 대해서도 인터넷에 많은 이들이 포스팅해두었다. 필자는 독자 여러분들이 따라갈 수 있는 하나의 포스트만을 링크해두기로 하겠다.

Naver 똑똑이 블로그 – [Python][Visual Studio Code] 개발환경구축

시리즈 강의에 관한 당부 사항

독자 여러분, 이제부터 몇 개월에 걸쳐서 올릴 이 Python을 쓰는 시간으로 여러분과 함께하게 될 것이다. 필자는 이 강의 시리즈가 지루한 이론을 설명하고 예제를 보는 것이 아닌, 수많은 예제와 직접 코딩하는 경험에 노출되면서 스스로가 ‘이것이 무엇이다!’를 깨달아가는, 느낌표를 얻어가는 시리즈가 되었으면 좋겠다. 그렇기 때문에 필자는 이론을 설명하고 예제 소스를 글의 형태로 붙여넣기보다는, 보다 역동적인 경험을 위하여 Youtube 영상으로써 여러분에게 Python에 관한 흥미진진한 경험을 제공하고자 한다.

필자가 지금 예상하기로는 이 시리즈의 강의 영상은 다음의 순서로 제공될 가능성이 가장 높다.

1. 예제 소스와 그 실행 결과를 먼저 제시
2. 해당 내용에 관련된 다양한 연습을 ‘배경 지식’을 모르는 상태로 시도해보기, 즉 참여자가 직접 코딩을 하면서 시행착오를 겪어보기
3. 배경 지식을 배우기
4. 다시 한 번, ‘배경 지식’을 모르는 상태에서 시도했던 문제들을 풀어보기

포스트의 관리 및 편의상 필자는 예제 소스와 그 실행 결과, 그리고 관련된 다양한 연습 문제는(위에서 1, 2단계) Youtube 영상을 시청하기 전, 독자 여러분들께서 직접 해 볼 수 있도록 매 포스트의 상단에 명시하고, 그 아래에 배경 지식을 설명하는(위에서 3단계) Youtube 영상을 첨부할 것이다.

따라서 독자 여러분들은 바로 Youtube 영상을 보는 것이 아니라, 예제 소스와 그 실행 결과를 보고, 사용법을 유추해서 관련된 다양한 연습 문제를 풀어본 뒤, 나름의 답이나 의문을 찾은 뒤에 그제서야 Youtube 영상을 보길 바란다. 그러고 난 뒤에는 다시 한 번, 아까 풀기를 시도했던 연습문제들을 푸는 순서로 이 강의에 참여해주기를 바란다.

질문과 논의에 관한 당부 사항

항상 모든 배움은 ‘질문’을 동반하지 않을 수 없다. 만약 독자 여러분들이 본 강의 포스트의 내용을 따라가다가, 부딪히는 문제나 궁금한 것이 있을 경우, 우선 이 블로그의 ‘덧글’로 달아 두기를 바란다. 필자는 겨울 기간 동안에는 적어도 ‘덧글’을 1일에 1회 정도는 확인하기 때문에, 독자 여러분들의 질문에 길어야 1일 정도 안으로 답을 해 줄 수 있을 것으로 생각된다. 하지만 2021년의 2월이 지나고 3월의 봄이 돌아온 이후에는 필자가 대학 생활로 인하여 다사다망할 것이 예상되므로, 관련 질문이 있는 경우는 필자의 이메일인 stevenoh0908@gmail.com으로 문의해준다면 힘이 닿는데까지 최선을 다해서 답해드릴 것을 약속드린다.

마치며

독자 여러분들과 약 2~3달 정도로 계획하고 있는 이번 강의를 함께하게 된 것에 진심으로 감사드린다. 데이터과학은 실은 그렇게 어렵고 전문적인 분야가 아니다. 우리 누구나 일상에서의 문제들을 풀 수 있도록 해 주는, 오히려 친숙하고 가장 유용한 도구가 ‘데이터과학’이지, 학문으로써의 ‘데이터과학’은 아니다.

독자 여러분들께 마지막으로 한 가지를 부탁드린다. 앞으로 이어질 강의에서, 본인의 꿈과 의지를 이어나가는데, 이 강의에서 초짜 선생인 필자와 함께한 내용들을 소중히 사용해주시기를. 그것이 이 강의를 끝냈을 때 필자 스스로의 최고의 보람이 될 수 있을 것이다.