요즘 많은 분들이 자기계발 주제로 파이썬 독학 을 희망하고 있습니다. 문과 계열 취업이 어려워지면서 공대출신 뿐만 아니라 비전공자, 혹은 코딩을 사업적으로 활용하려고 하시는 분들까지 배우려고 하면서 붐이 일어나고 있습니다. 하지만 섣불리 독학을 하기엔 두려움을 가지고 계신 분들이 많을 것 같습니다.
저도 처음엔 코딩이라는 것에 거부감이 있어 손을 댈 생각을 하지 않았지만, 막상 해보니 할만 하다는 생각을 하게 될 수 있었습니다. 그래서 이번 컨텐츠에서는 저의 경험을 중심으로 파이썬 독학에 관한 정보들을 공유해보겠습니다.
파이썬 독학 가능한가?
우선 시작하시려는 분들이 가장 궁금해 하는 질문일 것 같습니다. 코딩이랑 내가 잘 맞지 않는데, 괜히 시작했다가 중도에 포기하진 않을지 하는 염려 때문인 것입니다. 제가 내린 결론은 “가능하다” 입니다.
그러나 처음에는 온라인 강의든, 유튜브 무료 강의든 기초 강의는 수강하시는 것이 좋다는 의견입니다. 그 이유는 파이썬을 통한 코딩을 어떻게 공부해 나가야 할지 감을 갑을 수 있기 때문입니다.
아마 단순 관심으로 코딩공부를 시작하신 분들 대부분은 더하기, 빼기, 나누기 등 기본 연산 공부를 하다가 그만두었을 것입니다. 그 이유는 이런 기초 연산을 해서 도대체 무슨 프로그램을 만들 수 있으며, 업무에 어떻게 활용할 수 있을지에 대한 로드맵이 불명확하기 때문입니다.
불명확한 목표와 과정은 사람을 지치게 만들고, 결국 포기하게 만듭니다. 그런점에서 잘 짜여진 강의를 수강하게 된다면 헤메는 시간을 단축시키기에 좋습니다.
파이썬 독학에 필요한 능력
지금까지 독학 가능 여부에 대해 알아보았는데요, 그렇다면 파이썬 코딩을 하기 위해 어떤 능력이 필요한지도 알아봐야 할 것입니다.
체계적 사고
코딩이란 자체의 행위는 사람의 생각을 컴퓨터의 언어로 바꿔주는 것이라고 말할 수 있습니다. 그렇기 때문에 내가 구현하고자 하는 어떤 기능이나 프로그램의 동작구조가 명확하다면 그것을 표현하기만 하면 됩니다. 따라서 최종 개발 목표를 설정하고, 그 목표를 달성하기 위해 어떤 코딩과정을 거쳐야 할지 계획을 세울 수 있어야 합니다.
자동 메일 발송 예제
예를 들어서 자동으로 메일을 보내주는 프로그램을 만든다고 가정해봅시다. 이렇게 목표를 설정하고 나면 어떻게 해야 할지 즉시 아이디어가 떠오르지 않습니다. 그래서 이런 경우는 단계적으로 나누어서 고민을 해야 합니다. 다음과 같이 나눠볼 수 있을 것입니다.
- 포털에 로그인한다.
- 로그인 후 메일 보내는 탭으로 이동한다.
- 저장되어 있던 내용을 복사 붙여넣기 후 전송한다.
이렇게 나눈 다음에는 각각의 단계별로 하나씩 어떻게 구현할지 고민하면 됩니다. 다이렉트로 목표를 달성하기보다 훨씬 쉬워집니다. 이처럼 내가 파이썬 코딩을 통해서 하고자 하는 바를 단계적으로 분류할 수 있는 능력이 필요합니다.
검색 능력
코딩을 처음 시작하시는 분들이 기초 문법에 관해 암기를 하려고 합니다. 저도 그랬는데요, 어느정도 이해는 합니다. 그 이유는 복잡한 코딩을 할 때, 일일이 책을 찾아보기 어려울 거란 생각 때문입니다.
하지만 이것은 반은 맞고 반은 틀린 이야기입니다. 결론적으로 이야기하면 기초 문법조차 외울 필요가 없습니다. 또한 파이썬은 다양한 데이터 형이 나오는데, 이것 조차도 외울 필요가 없습니다. 이러한 개념이 있다는 것만 알아두시면 됩니다.
이것이 가능한 이유는 구글 검색만으로 내가 찾고자 하는 파이썬 관련 문법과 샘플 코드를 구할 수 있기 때문입니다. 실제로 현업에서 근무하시는 개발자 분들도 구글 검색이 없다면 개발이 불가능할 정도라는 이야기가 있습니다. 수많은 프로그래밍을 담당하신 분들도 결국 암기보다는 그때그때 서치하여 문제를 해결한다는 것을 알 수 있습니다.
데이터형 검색해보기
마찬가지로 한가지 예를 들어봅시다. 한창 코딩을 하고 있는데, 수많은 데이터를 하나의 변수에 어떻게 저장해야 할지 모른다고 가정해봅시다. 만약 파이썬에서 나오는 개념들에 대한 학습이 되어 있지 않다면 검색어 조차 생각나지 않을 것입니다.
하지만 기본적인 개념 학습은 했다고 한다면 “파이썬 변수에 데이터 저장” 이라는 검색어로 검색을 해 볼 수 있을 것입니다. 실제로 검색을 해보면 최상단에 우리가 원하던 내용이 검색이 되었습니다. 해당 문서에 접속해보면 개념과 샘플코드까지 있는 것을 쉽게 확인할 수 있습니다.
파이썬 독학 순서
지금까지 독학에 필요한 능력 2가지에 대해서 알아보았습니다. 만약 여기까지 읽어보면서 자신감을 얻었다면, 본격적으로 독학에 들어갈 순서입니다. 관련 인강을 수강하는 것이 베스트이지만, 강의 없이 혼자 책을 통해서 공부한다고 가정하고 독학 순서를 알려드리겠습니다.
1. 기초 연산을 학습한다.
위에서 여러 번 강조했듯, 기초 연산을 달달달 외우려고 하지 않는 것이 중요합니다. 플러스와 마이너스, 나누기 등의 연산부터 자료형, 데이터 형에 대해 쭉 학습하고 교재에 있는 내용을 직접 타이핑 해보면서 이해합니다.
만약 그래도 뭔가 배운 것 같은 느낌을 받고 싶다면 기초 문법 관련 내용을 1회독 한다음 다시 한번 반복합니다. 저도 파이썬을 처음 접했을 때는 이런 느낌 때문에, 기초문법을 여러 차례 반복하기도 했지만 사실 크게 중요한 것은 아니라는 것을 추후에 알게 되었습니다.
2. 간단한 예제를 실습해본다.
기초문법에서 오래 머물고 있다면 코딩에 대해 흥미를 느끼기도 전에 지치게 됩니다. 따라서 기본 학습을 빠르게 마친 후, 그 개념을 활용할 수 있는 예제를 풀이해봐야 합니다.
예를 들어서 “for 문”에 대해서 학습하셨다면, “총 30명의 학생이 있는 학급의 수학 평균점수를 계산하는 프로그램을 만들어보시오.” 와 같은 예제를 수행하는 것입니다. 즉, 구글 검색이 필요하지 않은 수준에서 배운 개념만으로 구현할 수 있는 예제를 풀어보는 것입니다. 이는 파이썬 공부 교재에도 수록이 되어 있을 테니, 직접 visual studio와 같은 실행 프로그램을 깔아서 타이핑 해보시기 바랍니다.
3. 복잡한 예제를 풀이해본다.
기초예제까지 풀이를 하는데 성공했다면, 이제는 조금 난이도 있는 예제를 풀이해 봐야 합니다. 평소 내가 구현하고 싶었던 파이썬 프로그램을 떠올려봅니다. 구현 가능 여부를 가늠하지 말고, 우선 떠오르는 프로그램들을 노트에 기록해봅니다. 그 다음 내가 구현 할 수 있을 것 같다고 생각하는, 혹은 구현이 가장 쉬울 것 같은 프로그램을 선택합니다.
프로그램 선택까지 마무리 했다면, 위에서 언급했던 “체계적 사고”를 바탕으로 최종목적을 달성하기 위해 수행해야 할 세부 단계를 나누어보시기 바랍니다. 이후 검색을 통해서 구현에 필요한 기능을 구현하는 코드를 조합합니다.
이 과정이 조금은 어려울 수 있지만, 실패를 하더라도 많은 것을 얻을 것입니다. 책이나 강의에서 미처 알려줄 수 없는 시행착오나 새로운 개념들을 학습할 수 있게 됩니다. 이런 과정이 반복되면 더 이상 책이나 강의를 보는 것보단 검색을 통해서 스스로 해결해나가는 재미를 맛보게 될 것입니다.
파이썬 독학 후 할 수 있는 것들
현업에서는 파이썬 보다는 C#이나 JavaScript를 많이 사용한다고 하지만, 파이썬을 활용할 수 있는 방안도 많습니다. 데이터를 다루는 일이기 때문에, 웹사이트의 정보를 가져오고 가져온 데이터를 가공하는 프로그램을 만들 수 있습니다. 최근엔 인공지능이나 주식, 코인 자동매매에도 사용된다고 하는데, 제가 이 부분은 직접 해보지 않아 말씀드릴 사항은 없을 것 같습니다.
파이썬마스터의 결과물
제 사례로 말씀드리면 저는 파이썬을 통해서 다양한 프로그램을 제작했습니다. 가장 먼저 제작했던 것은 “연관키워드 검색기”입니다. 블로그를 운영할 때 키워드가 생명이라고도 할 수 있는데, 직접 키워드를 찾아보신 분들이라면 그것이 얼마나 어렵고 번거로운 작업인지 알고 계실겁니다.
그래서 경쟁강도를 분석하여 검색량은 많으면서 경쟁도가 낮은 키워드를 신속하게 찾을 수 있는 프로그램을 제작한 것입니다.
다음으로 제작했던 프로그램은 쿠팡파트너스 상품정보 자동 추출기입니다. 요즘 부업 열풍이 불면서 쿠팡파트너스와 같은 수익형 부업에도 많이 도전을 하고 있습니다. 하지만 이것 역시 상당한 노가다 작업이 필요합니다. 오죽했으면 디지털 노가다라는 신조어가 생겼을 정도입니다.
상품을 블로그에 소개하고 글을 쓰는 것도 상당한 시간이 들어가는데, 상품정보와 사진을 받는 것 조차도 많은 포스팅을 하는 경우 큰 부담이 될 수 있습니다. 이런 배경으로 3초도 안되어 상품 정보와 원하는 사이즈의 이미지를 추출해줄 수 있게 만든 것입니다.
현재 제가 만든 프로그램들은 크몽 사이트에서 판매되고 있는데, 맨 하단에 카카오톡 채널 링크를 클릭하시면 확인하실 수 있습니다.
독학에 걸리는 시간
파이썬을 숙지하는데 걸리는 시간은 제가 명확히 말씀을 못드리겠습니다. 그 이유는 하루에 파이썬 공부에 투자할 수 있는 시간과 본인의 역량이 모두 제각각이기 때문입니다. 다만 저의 경우를 말씀드리면 저는 간단한 프로그램을 만들기까지 3개월 가량의 시간이 들었던 것 같습니다.
물론 일주일에 3~4회씩 강의를 듣고 실습하는 시간을 가졌고, 평균적으로 일 4~5시간을 투자했던 것 같습니다. 그러나 더 많은 시간을 투자할 수 있고, 이해력이 빠르신 분이라면 1개월 내에도 독학이 가능하지 않을까 싶습니다.
물론 복잡한 코딩이나 프로그램을 만들려면 더 많은 시간이 필요한 것은 사실입니다. 코딩 과정에서 수많은 에러가 발생하고, 그것을 해결해 나가는 과정이 결코 하루아침에 되는 것은 아니기 때문입니다. 중요한 것은 꾸준히 하는 것입니다.
파이썬 독학에 실패하는 이유
가장 큰 이유는 동기부여의 실패라고 할 수 있습니다. 많은 분들이 처음 기초 연산을 배우다가 회의감을 느끼고 더 이상 진전하지 못합니다. 기초 연산을 배운다고 해서 당장 눈앞에 결과물이 나타나는 것이 아니기 때문입니다. 또, 제가 가장 많이 했던 고민이었는데 이걸 배워서 프로그램을 어느시점에나 만들 수 있을까 하는 의문이 들었다는 것이었습니다.
왠지 유용한 프로그램을 만들려면 기초 연산 배워가지고는 안될 것 같다는 생각이 들고, 그런거 하나 못만들면 뭐하러 배우나 싶은 마음에 그만두게 됩니다. 따라서 프로그래밍은 암기한다는 개념보다는 배운 내용을 조합하여 어떤 결과물을 만들어볼까에 대한 초점을 맞추는 것이 중요합니다. 그래야 보람도 있고, 공부도 지속할 수 있습니다.
이렇게 이번 컨텐츠에서는 파이썬 독학에 관해서 알아보았습니다. 본 블로그와 블똑사 파이썬마스터 채널, 카페를 둘러보시면 정말 많은 정보가 있습니다. 같이 보셔서 성공적인 자기계발, 능력향상 이루시길 바랍니다.
같이 읽어보면 좋은 칼럼들
좋은글 잘보고갑니다
감사합니다^^
파이썬 도전해보다가 포기했는데… 목표가없어서 그랬을까요… 정보처리기사정도만 소유하고있네요…
책으로 독학을 시작하려 하는데, 추천해주실 수 있을만한 책이 있을까요?