티스토리 뷰

 < 해당 포스트에서 다루고 있는 "Head First Python 개정판"은 한빛미디어로부터 지원을 받고 이에 대한 서평을 쓴 것임을 알려드립니다.>

 바로 이전 책 리뷰에서는 "엔지니어를 위한 파이썬"을 소개했다. 사실 그 글 서두에서도 언급했던 이야기이지만 Python이란 언어는 정말 전세계적으로 많이 쓰이는 언어이다. 그 근거로 TIOBE Index를 소개했었는데, 문득 이번달의 결과도 한번 소개해보고자 한다.

 여전히 python은 JAVA, C, C++과 더불어 많이 쓰이는 언어 중에 하나이며, 아마 짐작으로는 현재와 같이 머신러닝/딥러닝 이나 웹앱 개발이 많이 이뤄지는 개발 트랜드라면 먼 미래에도 여전히 많이 쓰이고 있는 언어로 자리잡고 있지 않을까 싶다. 뭐 아무튼 이런 기류에 맞춰 시중에 보면 정말로 다양한 Python 개발책들이 많이 나와있다. 그리고 Python을 통해 개발할 수 있는 주제들에 대한 책들도 정말 많이 나와있다. 

 이쯤되면 처음 접하는 개발자들도 딱 원하는게 적당한 입문서가 될 것이다. 물론 이전에 소개한 "엔지니어를 위한 파이썬"은 조금 python이 익숙한 상태에서 조금더 심화된 주제를 다룰 사람에게 권하는 책이고, 이번에 추천할 책은 오라일리의 대표적 입문서 시리즈인 "Head First" 시리즈의 Python 편이다.

 사실 내가 제일 처음 접한 Head First 시리즈는 C 언어였다. 

 참 재미있는게 그때 받은 느낌이나 이번에 새로 나온 Python을 읽을 때나 느낌이 비슷했다. 참고로 Head First C 쓸 때의 Review를 잠깐 가져와서 보면 다음과 같이 책의 느낌을 묘사하고 있었다.

무엇보다도 이 단행본 시리즈가, 그것도 공학이라는 생소한 영역에서 오랫동안 출판할 수 있었던 이유는 책에서만 찾아볼 수 있는 재미가 아닐까 싶습니다. 책들을 살펴보시면 정말로 곳곳에 깨알같은 재미가 있습니다.

출처: http://talkingaboutme.tistory.com/387 [자신에 대한 고찰]

 그리고 책을 읽는 지금도 그때와 비슷하다.

 일반적인 입문 책처럼 단순히 문법 설명하고, 코드를 Line-by-Line 형식으로 설명하는게 아니라 책 자체가 하나의 잡지책처럼 되어 있다. 그리고 윗 사진에도 나와있는 내용이긴 하지만, 중간중간 "핵심 정리"란 항목이나 "바보같은 질문이란 없습니다"란 항목을 통해 Python을 처음 접하는 입문자가 가질 수 있는 궁금증에 대해서도 답을 제시하고 있다. (개인적인 생각이긴 하지만, 컴퓨터 기술을 소개하고 있는 책 중에서 "사람"이 가장 많이 등장하는 책이 아닐까 하는 생각을 해본다...)

 그리고 중간중간 주석처럼 붙어있는 말풍선이나 메모 내용들은 단순히 상세한 설명을 넘어서 책을 눈으로 훑어보는 독자한테 재미를 준다. 

그리고 Head First 시리즈의 특징일 수도 있는데, 손코딩을 하는 사람들을 위해서 손으로 써보고 결과를 확인해볼 수 있는 섹션들이 나열되어 있다. 

 그리고 개인적으로 맘에 들었던 부분은 다루고 있는 예제가 전개되는 형식이다. 보통 python에서 가장 많이 설명되는 List나 Dictionary,Tuple type에 대한 설명을 보면 일반적으로는 List가 무엇이고, Dictionary가 무엇이고, tuple이 무엇이다는 형식으로 진행되고, 이에 각각을 써볼 수 있는 예제가 주어지는 형식으로 진행된다. 그런데 Head First Python 에서는 하나의 예제를 진행하면서 필요한 개념들을 소개하는 식으로 전개된다. 물론 이때문에 Python의 특정 구문에 대한 설명을 찾으려면 맨 앞의 목차를 쭉 읽으면서 맞는 주제를 찾아나가야 하는 번거로움이 있지만 적어도 처음부터 꾸준히 따라가는 독자한테는 예제를 직접 실습해보면서 내용도 이해가 되는 부가적인 효과를 얻을 수 있을 것 같다. 

 끝으로 입문서라면 그냥 넘어가기 쉬운 부가 정보에 대한 설명들이 알차게 들어있다. 예를 들어 PEP(Python Enhancement Proposal)에 따른 규약이라던가 일종의 Static Analysis Tool이라 할수 있는 pytest에 대한 내용, 그리고 뒷장의 flask 예제를 통해 설명되는 DataBase에 대한 내용 등이 포함되어 있어, 단순히 Python의 문법이나 내용에 국한된게 아닌 그 이상을 얻을 수 있는 장점이 포함되어 있다.


 사실 서두에서 "머리를 들이밀 수 있는" 라는 부제를 달았지만 공식적으로 Head First 시리즈에서 추구하는 목적은 크게 다음과 같은 단어로 요약할 수 있다.

pictures(그림), redundancy(중복), interest(재미), activities(활동), story(이야기), challenge(도전)

 위 단어들에도 함축적으로 표현되어 있다시피, Head First Python은 그림을 통해 독자들에게 재미를 주고, 다양한 활동과 도전과제를 통해 뭔가 시도를 하게끔 유도하는 내용들이 많이 담겨있다. 추가로 flask를 이용한 예제와 같이 웹앱을 실제로 구현해보면서 눈으로도 결과를 바로바로 확인해보고 익힐 수 있는 예제들이 포함되어 있기 때문에 뭔가 python을 도전적으로 배워보고자 하는 사람에게는 적극 권한다.


P.S 1: 사실 이전에 한빛미디어에서 출판된 Head First Python을 보유한 사람이라면 이 책의 필요성에 대해서 좀 고민할텐데, 많은 부분이 바뀌었다. 우선 Python 2를 다루던 기존 판과 다르게 이번 판에서는 Python 3를 활용해서 설명한다.(당연히 기존의 문법과 상당부분 다르다) 또한 기존의 판에서 페이지가 100여장 정도 추가되면서 일부 심화 주제(스레드, 예외처리, 함수 장식자) 등에 대한 내용이 추가되었다. 따라서 python 3을 활용해야 할 사람이라면 구입이 필요하다.

P.S 2: 해당 책의 예제 자료는 http://python.itcarlow.ie/ed2/ 에서 받을 수 있다. 홈페이지 상에서는 명시되어 있지 않아 좀 찾아야 한다.

댓글