파이썬 한발짝 더 나아가기 - [엔지니어를 위한 파이썬: 개발 기초, 필수 라이브러리, 그리고 고속화]




파이썬이란?

어느덧 대표적인 프로그래밍 언어로 자리잡았다



파이썬은 어느덧 전공자뿐만아니라 비전공자에게도 친숙한 프로그래밍 언어로 자리잡혔다. 간결한 문법과 방대한 라이브러리의 장점을 살펴 어느덧 수많은 사용자가 이용하는 언어로 자리잡혔다. 중고등학생 및 대학 신입생들이 보통 처음 배우는 언어로 파이썬을 추천받고, 개발자들도 많이 추천하고 있다. 실제로 취미뿐만아니라 현업에서도 많이 사용되고 있다. 그 중에서도 NumPy, matplotlib, Scipy, Pandas, IPython, Cython등의 패키지 라이브러리는 엔지니어 개발자들이 가장 많이 사용하는 라이브러리로 훌륭한 기능을 제공하고 있다.


파이썬이라는 언어뿐만 아니라 최근의 언어는 문법도 중요하지만 그보다 라이브러리의 사용이 더 중요하지 않을까 싶다. 레퍼런스를 찾고 읽고 적용할 수 있는 능력, API문서를 보고 본인의 원하는 개발 방향을 선택하고 이를 알고리즘화하고 구현할 수 있는 능력이 개발자에게 가장 필요한 덕목이라 본다.


챕터가 시작하기 전 이렇게 간략하게 소개한다


현재 파이썬은 R언어와 더불어 데이터 분석에 많이 이용되고 있다. 파이썬의 확장성과 성능을 앞세워 빅데이터 분석과 인공지능, 머신러능 등에 자주 사용된다. 앞서 소개한 라이브러리는 이번 편에 소개할 책뿐만 아니라 다른 책에서도 더 자세하게 소개하고 있으니 쉽게 찾아볼 수 있을 것이다. 위 6개 패키지 라이브러리는 파이썬을 조금이라도 사용할 줄 안다면 충분히 들어보고 사용해봤을 라이브러리일 것이다.


그림을 통해 친절하게 설명하고 있다



왜 이 책인가?

NumPy에 대해 소개하고 있다.


이 책은 총 12장으로 다소 방대한 분량의 파이썬 도서이다. 6장까지는 파이썬의 기초적인 개념을 다루고 있는데, 만약 이러한 부분이 익숙하다면 충분히 넘어가도 된다. 1장에서는 '과학 기술 컴퓨팅과 파이썬'이라는 주제로 현재의 파이썬에 대해 소개하고 있다. 사용 현황과 개발 특징, 파이썬 언어를 사용하는 이유 등, 파이썬을 배우기 위한 개관으로 이해하면 되는데, 가볍게 꼭 한 번 읽어보길 바란다.


파이썬의 기초적인 문법과 클래스, 변수 선언의 내용을 지나면 7장부터는 각각 NumPy, SciPy, matplotlib, pandas 패키지가 한 챕터씩 차지하면 소개되고 있다. IPython 개발 환경에서 이를 실습해볼 수 있는 코드와 주석이 친절하게 있으며, 다양한 메서드가 표 형태로 깔끔하게 정리되어 보여준다.


NumPy의 브로드캐스팅 개념은 다소 모호하고 이해하기 어려운 부분이 있다. 하지만 구체적인 예시와 이를 이용한 배열을 그림 형태로 보여주면서 이해를 돕고 있다. 이후의 SciPy, matplotlib 부분도 마찬가지로 IPython에서의 순서와 소스 코드 및 그림 설명을 친절히 하고 있다.


브로드캐스팅에 대한 개념을 쉽고 보여주고 있다


누구를 위한 책인가?

소스 코드와 한글 주석의 가독성이 꽤나 좋다



기본적으로 이 책의 난이도는 높지 않은 편이다. 다소 쉬운 편에 속하며, 복잡하고 어려운 개념은 많지 않다. 하지만 그렇다고 파이썬에 대한 설명이 부족하거나 내용이 빠지지 않는다. 파이썬의 기초적인 지식과 사용법 및 개관부터 시작하여 중급자로 나아갈 수 있는 라이브러리를 사용하고 클래스 및 상속을 활용하며, 끝으로 프로그램 최적화로 통한다. 특히나 11장부터 시작되는 프로그램 최적화 및 그 예를 설명하는 내용은 실제 소스 현업 및 프로젝트에 굉장히 유용한 부분이기 때문에 충분히 많은 도움이 될 것이다.

지금부터 파이썬을 시작하여 오픈소스강의 및 기초 강의로는 부족하여 좀 더 보완이 필요한 독자, 학부 수준의 프로젝트 및 프로그래밍 동아리에서 세미나를 진행하는 경우, 개인적으로 파이썬 프로그래밍의 진정한 백서를 찾는 독자들에게 더없이 좋은 참고도서이다.



이 책의 부족한 부분은?



데이터 과학과 파이썬에 관련된 도서는 최근 굉장히 많이 출판되고 번역되고 있다. 파이썬을 처음 배우고자 하는 사람에게도 충분히 읽을 수 있는 부분은 Part별로 분리하여 좀 더 단계적으로 배워나갈 수 있는 전략을 전해줬으면 한다. 

그 외에도 본 책의 초입의 베타리더 후기를 살펴보면, 책에서 소개하는 대표적 IDE 설명으로 Spyder를 소개하는데, 국내에서는 PyCharm을 좀 더 많이 사용하니 비교하는 부분도 역자가 신경써줬으면 하는 바램도 있었다. 베타리더끼리도 다소 충돌이 없지 않아 있었는데, 개인적으로 입문자와 중급자 둘 중 누구에게 추천할까 물으면, 입문자라고 말하고 싶다. 하지만 파이썬과 데이터 과학을 제대로 배우고 싶은 열정이 가득한 입문자여야 한다. 그만큼 좋은 내용을 쉽고 재미있게 전달하고 있기 때문이다.



"Python is powerful programming language."

+ Recent posts