수많은 파이썬 코딩 교재 중에서 파이썬 코딩 도장의 표어는 확실하다.

 

프로그래밍은 공부가 아닙니다. 연습입니다.

 

지극히 당연한 말이 책 표지에 써있으니까 한번 더 쳐다보게 한다.

 

1번 따라한다

 

2번 연습한다

 

3번 심사한다

 

이 과정을 47개 유닛과정에 반복하는 것이 이 책의 공부법이다. 심플한 원리다.

 

사실 파이썬 코딩 도장은 책의 내용이 온라인에 무료로 공개가 되있다. 유닛의 마지막마다 있는 퀴즈와 연습문제를 아래의 웹사이트에서 직접 코드를 입력하여 심사받을 수 있다.

 

dojang.io/course/view.php?id=7 온라인 파이썬 코딩 도장

 

 

강좌: 파이썬 코딩 도장

모두 펼치기모두 접기

dojang.io

저자의 의도처럼 이 책을 하루에 1유닛 혹은 2유닛 꾸준히 학습하면 한달안에 파이썬으로 프로그래밍을 짤 수 있을 것 이다.

 

물론 이 책 한권을 배운다고 해서 갑자기 프로그래밍의 전문가가 되지는 않는다. 모든 교재가 마찬가지다. C언어나 자바도 입문서 한권을 마쳤다고 갑자기 실력이 늘지는 않는다. 기본이 될만한 교재들을 다 보고 프로젝트 경험을 쌓으면서 훌륭한 프로그래머들의 코드를 분석하는 시간이 필요하다. 그러니까 시간이 걸린다.

 

보통의 사람에게는 인내심이 필요하다. 어떤 사람들은 처음부터 이 일을 잘하는 사람들이 있다. 마이크로소프트 사의 빌게이츠나 파이썬의 창시자 귀도 반 로썸 같은 사람이다.

 

www.youtube.com/watch?v=x8qsWi99T_k 빌게이츠 넷플릭스

www.youtube.com/watch?v=7kn7NtlV6g0&t=77s 뒤도 반 로섬 인터뷰

 

www.youtube.com/watch?v=Pzkdci2HDpU 귀도 반 로섬 인터뷰

빌게이츠는 설명이 필요없는 프로그래머이고, 귀도 반 로섬은 바로 그 파이썬의 창조자이다. 혼자서 오픈소스 언어를 창조해냈다는 면에서는 사업가인 빌 게이츠보다 특출나다고 볼 수도 있다. 유럽에서는 리누스 토발즈 못지 않은 전설의 인물이 되었다.

 

전세계에서 집계하는 티오비에서 파이썬의 순위는 3위이다.

 파이썬을 배우는 것은 이 사람이 창조한 언어를 공부하는 것이다.

 

물론 수만개의 모듈이 나온 지금의 개발환경에서의 학습법도 달라졌지만, 쉽고 빠르게 개발한다는 파이썬의 기초 원칙은 여전히 이어가고 있다.

 

파이썬의 문법이 쉽지 않았다면 지금처럼 널리 보급되지 않았을 수도 있다. 간단한 코드만으로도 AI, BIG DATA, 영상 처리같은 고급 기술뿐만 아니라 웹사이트 개발이나 업무자동화 프로그램을 빠르게 구현할 수 있다. Pycharm, VSC 같은 IDE의 기능이 확장되면서 개발 속도와 효율은 나날이 좋아지고 있다.

 

4차 산업시대라서 코딩하는 사람들은 대체가 안될 것처럼 생각할 수 있는데 그렇지 않다. 프로그램의 생산성 향상은 비약적으로 증가하고 있다. 한 사람이 할 수 있는 코딩의 양은 계속 늘어나고 있다. 게다가 MS가 개발하는 프로젝트 중에는 AI 가 자동으로 코딩을 하는 프로그램도 있다. 이쯤되면 불안한 마음이 들지만 한편으로는 공부가 더 잘된다. AI에 밀릴 수는 없기 때문이다.

 

이제 파이썬 코딩 도장에 대한 주관적 평가를 해보려고 한다.

 

*난이도

 

- 파이썬 코딩 도장의 난이도는 초급부터 중급의 입문 단계까지로 보면 된다. 초반에는 책장을 넘기기가 쉽지만 어느 정도 하다보면 진도가 느려진다. 중반부 상당 부분 내용이 파이썬의 자료형인 리스트,튜플,딕셔너리에 대한 설명과 실습에 충실하다보니 좀 지루하다.

 

'점프 투 파이썬'의 박응용 저자님은 자료형을 습득이 파이썬의 50%는 차지한다고 하셨다. 중요한 부분인 것은 이해하지만 파이썬을 가지고 자료형만 계속 공부하다 보면 좀 지치는 것도 사실이다. 파이썬은 원래 빠르고 쉽게 당장 사용할 수 있는 코드를 만들어 보는게 동기부여가 된다. 'Life is too short that's why you need Python!'

 

전공과 상관없이 다양한 분야에서 파이썬을 사용하는 것은 당장 뭔가 만들어서 계속 사용하게 만들기 때문이다. 배우는 과정이 힘들면 그만큼 많은 사람들이 떠나게 된다.

 

모든 내용을 순서대로 배운 후 복잡하고 어려운 프로젝트에 도전하느냐? 아니면 짧고 의미있는 실전 코드를 중심으로 학습하느냐? 두 방법 다 실력은 늘겠지만 접근하는 방식에 차이는 있다. 시간이 오래 지나면 결국 이 두개의 과정을 다 거치고 하나가 되겠지만 시작 단계에서는 고민이 될 것이다.

 

C나 자바라면 다르겠지만 파이썬의 경우 보통은 지루해지기 전에 프로젝트를 시작하라고 추천한다. 물론 아직 다 못배운 문법이 남아있을 수 있다. 프로젝트를 하다 부족한 부분을 다시 찾아 보는 방법으로 진행하면 된다. 다들 구글 검색을 한다. 스택오버프로우에는 파이썬 태그의 질문이 150만개 기록되있다. 당신이 파이썬에 관한 어떤 의문이 있어도 여기 등록되있을 가능성이 99%다.

 

150만개를 다 해석할 수 있으면 이미 python 박사다. 시대가 변했다.

 

여담으로 FAANG이나 MAGA의 프로젝트 매니저들은 stackoverflow에 없는 문제도 풀 수 있는 사람들이라고 한다. 왜 연봉이 억대를 받는지 알 것같다.

 

- 난이도 결론 : 책 표지만 보면 입문자들을 위한 책이다. 그러나 페이지 수도 800페이지에 가깝고 내용을 꽉 채워놓다보니 중반부를 넘어가면 시련이 찾아올 것이다. 부담스러우면 이 책 보다 쉬운 파이썬 교재를 한권 먼저 보는 것을 추천한다.

 

* 내용

 

내용은 매우 알차다. 한글로 쓴 다른 교재들과 비교해봤을 때 설명의 분량이 많고 자세하다. 800페이지나 되는 분량에 무거운 책이다.

 

무엇보다 이 책은 예제가 참 다양하다. 실습이 중요하다는 저자의 말처럼 책을 그냥 읽으면 별로 도움이 안되고, 파이썬 IDE를 켜놓고 읽으면서 따라하는 책이다. 설명한 줄 읽고 코드 하나 따라하고... 이렇게 따라하다 보면 어느새 unit 하나가 끝나고 온라인 코딩도장에서 퀴즈 풀고 연습문제를 제출하게 된다. 이 과정을 47개 unit 을 하는 것이다.

 

 

길벗 출판사에서 유튜브를 통해 무료로 온라인 강의를 공개했으니 이해가 안가는 부분은 강의를 들으며 진행할 수 있다.

 

다만 길벗 출판사 채널에서 제공하는 강의로, 저자 직강은 아닌 것 같다. 원래 코딩 책은 책을 쓴 저자가 직강해줘야 가장 좋다. 저자들은 보통 책에다 쓰지 못한 +@ 내용을 직강에 풀어놓고는 한다. 그런 부분을 듣기 어렵다는 것과 댓글도 닫아놔서 문의가 안된다는 사실은 아쉽다.

 

 

 

github.com/namjaeyoon/python.dojang 저자 깃허브 (소스코드)

 

namjaeyoon/python.dojang

파이썬 코딩 도장. Contribute to namjaeyoon/python.dojang development by creating an account on GitHub.

github.com

 

* 학습방법

 

이 책으로 하루에 한개 unit 으로 목표를 잡아도 쉽지는 않을 것이다. 초반은 그럭저럭 괜찮은데 뒤로 갈수록 난이도가 높아진다. 고수준 언어인 파이썬은 처음에 시작하기는 쉬운데 후반부에 더 어려워지는 경향이 있다.

 

C언어 같은 경우 초반부터 어렵지만 후반부 난이도가 올라갈때 앞쪽에서 배운 기초 지식으로 밀고 올라가기 때문에 별로 큰 차이를 느끼지 못한다.

 

반면 파이썬은 모듈, 클래스, 자료형들이 뒤로 갈수록 더욱 추상적으로 느껴진다. 객체지향 프로그래밍을 잘 모르면 후반부에서 지치게 된다. 파이썬으로 코딩에 입문했다면 객체지향이 문제가 아니라 스택,힙,데이터 세그먼트 같은 메모리에 대한 개념도 없을 것이다. 그런 지식이 코딩을 하기 위해 꼭 필요는 없다. 그러나 컴퓨터구조가 파이썬에 내재되어 있는 것은 사실이다. 그래서 컴퓨터공학 전공자들과 다른 구조적 언어, 객체지향 언어를 배운 사람이 더 빠르고 깊게 습득할 수 있다.

 

재능이 있는 사람은 그냥 책을 펴놓고 코드를 따라하면서 이것저것 따라하다보면 책을 다 볼 수 있을 것이다. 그런 사람들은 딱히 학습법이 필요가 없다.

 

이 책의 학습방법은 아래와 같이 하면 좋다.

 

1. 책을 펴고 처음부터 읽기 시작한다.

   잘 모르는 부분은 빨리 넘어가면서 읽는게 좋다. (검색하기 시작하면 진도가 안나간다)

 

2. 예제 코드는 모두 IDE에서 따라한다.

    짥은 코드는 파이썬셸에서 따라한다.(즉각 실행결과를 볼 수 있어야 한다)

 

3. 예제 코드를 약간 변형해본다.

    이해가 안가서 변형이 힘들면 변수 이름이라도 변형한다.(이 부분이 매우 중요)

 

4. 긴 코드는 소스 파일에 저장한다. 주제에 따라 코드파일을 분류한다.

 

5. 한 Unit 이 끝나면 온라인 파이썬 코딩 도장으로 가서 퀴즈를 풀고 심사과제에 도전한다.

 

계속 반복하지만 중반부가 넘어가면 시련이 닥쳐온다. 중반부 넘어가면 어렵고 지루해지는 것은 모든 프로그래밍 교재들의 특징이다. 여기서 더 씨름을 하느냐 아니면 빨리 넘어가고 나중에 다시 돌아오느냐 선택을 할 수 있는데. 이해안되고 안풀리는 unit 에 너무 오랜 시간을 쏟지 않는게 좋다.

 

프로그래밍 언어를 배울 때 전체를 속도감있게 한번 보고 두번째에 정독하는 방법도 좋다.  프로그래밍은 숲과 나무를 오가면서 이해하게 되는 경우가 많다. C언어를 배우기 전에 보통 메모리구조를 배우지 않는다. 배열과 포인터 단계에서 메모리를 이야기 할 뿐이다. 컴퓨터 구조라는 숲을 알고 포인터라는 나무를 대하는 것과 그냥 눈앞에 나무만 있는 것은 차이가 난다.

 

파이썬에도 숲과 나무가 있다. 특히 파이썬은 모듈과 프레임워크가 많다. 오픈소스의 생태계는 훨씬 방대하다. 전세계 사람들이 집과 사무실에서 지금 무슨 프로젝트를 개발하고 있는지 다 알수가 없다.

 

그러니까 이 책은 처음에 속도감을 내서 보고 그 다음에는 정독하거나 혹은 필요한 unit를 하나씩 완독(정독 후 모든 코드를 마스터하는 방식)하는 것이 좋다. 후반부가 넘으면 저자도 지금 이해가 안되는 것들은 넘어가고 나중에 필요할 때 다시 찾아 보는 것을 권장한다. (이터레이터, 코루틴 같은 unit 가 그런 부분이다)

 

책이 두껍고 내용이 상세하다는 것은 레퍼런스로 언제든지 사용될 수 있다는 장점이 있다. 그리고 이 책 책장에서 꺼낼필요도 없다. 목차와 들어있는 내용을 알고 있다면 구글로 검색하여 바로 똑같은 내용에 접속이 가능하다. 예를 들어서 클래스에 대해서 까먹은것 같다. 그럴때 구글로 검색한다.

 

책의 내용이 그대로 나온다. 한번 본 내용이라면 훨씬 빠르게 원하는 내용을 찾을 수 있을 것이다.

 

출판사에서 온라인에 그냥 무료로 공개한게 아니다. 온오프라인 양쪽을 활용하여 학습효율을 극대화하였다.

 

 

* 이 교재 이후에는...

 

이 책의 내용을 마스터했다면 충분한 파이썬 숙련자라고 할 수 있다.

 

추가적인 학습 교재도 필요하겠지만 개인 프로젝트를 진행하는 것을 추천한다. 아직 부족하다고 생각할 수도 있겠지만 문법이 잘 모르겠다면 이 책을 레퍼런스 삼으면 될 것이다.

 

개인 프로젝트는 간단함 메모장 부터 게임, 웹사이트 이런 것들이 될 수 있다. 워낙 파이썬을 가지고 할 수 있는 일이 많기 때문에 자신이 좋아하거나 할 수 있는 프로젝트를 선택한다. 그 다음에 할 일은 모듈과 프레임워크를 배우는 일이다. 이 부분에 대해서는 시중에 파이썬 입문서만큼 책이 안나와있다. 다들 파이썬에 입문은 하지만 그 다음 단계로 가는 것이 어렵다는 사실의 반증이다.

옛날에 C언어도 그랬다.

 

빅데이터 분석과 AI관련 파이썬 서적은 꾸준히 나오고 있는데 이것은 컴퓨터공학을 배운다고 할 수 있는 분야가 아니다. 인공지능이나 데이터사이언스 분야의 연구자들이 도구로써 파이썬을 사용하는 것 이다. 즉 컴퓨터 프로그래밍과는 별도로 학습해야 하는 공학 분야이다.

 

특수 분야의 연구를 제외하고 보통의 프로그램을 만들면 된다.

 

아래는 몇개의 예시이다.

 

gui : gui 응용프로그램 개발

django : 웹사이트 개발, 블로그

pygame : 간단한 게임 개발

각종 모듈을 사용한 업무자동화 프로그램

시간모듈을 이용한 스케줄러. 자동 실행 프로그램

웹스크레이퍼: 셀리니움, bs4 를 사용한 웹크롤링 봇

open cv : 컴퓨터 비전 처리기

pillow 를 사용한 그래픽 처리 프로그래밍

automouse 컨트롤 프로그래밍(매크로)

 

- 파이썬 모듈을 추천하는 큐레이션 사이트들이 많으니까 적극적으로 활용한다.

 

파이썬에서 모듈을 꼭 한개만 써야하는 법은 없다. 모듈을 조합함에 따라 전혀 새로운 프로그램을 만드는 것은 파이썬의 즐거움중에 하나다.

 

www.ubuntupit.com/best-python-libraries-and-packages-for-beginners/ 베스트 30 파이썬 패키지

 

The 30 Best Python Libraries and Packages for Beginners

Not sure where to learn about the best Python Libraries and Packages? Here is our list of 30 best Python Packages and Libraries to give you a head start.

www.ubuntupit.com

 

* 총평:

 

좋은 교재다. 부록에 레퍼런스도 잘 나와있다. 자주 까먹는 사항들을 부록에 다 정리하는 것을 보면 마지막까지 알차게 채우려고 노력한 책이다. 페이지 수가 많고 두꺼운 것에 비해 가격이 그렇게 비싸지 않다. 무엇보다 이렇게 내용이 꽉차있는 한글교재가 부족한 상황에서 꾸준히 베스트셀러 자리를 지키고 있다는 것은 그 만큼 사람들에게 평판이 좋기 때문일 것이다.

 

초보자가 혼자서 끝까지 보기 쉽지 않은 책 같지만 충분히 도전할 가치가 있고 소장할 만하다고 생각된다. 책이 두꺼워서 부담스럽다면 아래의 점프 투 파이썬을 본 후 파이썬 코딩 도장으로 넘어가도 좋다. 점프 투 파이썬은 분량이 적어서 부담이 덜하다.

 

digiconfactory.tistory.com/143

 

파이썬 교재 | 200만이 선택한 DO IT! 점프 투 파이썬 리뷰

교보문고 링크 Do it! 점프 투 파이썬 - 교보문고 파이썬 4년 연속 베스트셀러 1위! ★★★★ 《Do it! 점프 투 파이썬》 전면 개정판 출시! 문과생도 중고등학생도 직장인도 프로그래밍에 눈뜨게 만

digiconfactory.tistory.com

 

namu.wiki/w/Python 파이썬 나무위키

 

Python - 나무위키

파이썬은 시스템을 건드리거나 반복연산이 많은 것은 하기 어렵지만 python num 처럼 따로 모듈을 지원하기 때문에 크게 걱정할 필요는 없다(그래도 python num을 사용해도 느린건 느리다;;). 이 단점�

namu.wiki

공유하기

facebook twitter kakaoTalk kakaostory naver band