할리노트

[객체지향 파이썬] 서평 본문

할리의 독서 노트

[객체지향 파이썬] 서평

할리노트 2023. 11. 6. 19:44

 

https://search.shopping.naver.com/book/catalog/42790783619?cat_id=50010920&frm=PBOKMOD&query=%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5+%ED%8C%8C%EC%9D%B4%EC%8D%AC&NaPm=ct%3Dlomrxhkg%7Cci%3D81f4e8e867f8a5a311304952c2f781b1a9bba738%7Ctr%3Dboknx%7Csn%3D95694%7Chk%3Dcdff431508728f4567be41d68cc8fd9e430ec2fa

 

객체지향 파이썬 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

*제이펍 출판사에서 도서를 제공받아 작성한 후기 입니다.

 

나는 비즈니스 애널리스트로 시작하여 데이터 분석, 데이터 과학 쪽만 공부해왔다. 그렇기 때문에 클린 코드라던지, 알고리즘 같이 예쁘고 효율적인 코드에 대해서는 아는 바가 굉장히 적다. 

 

 

이렇게 살아도 문제가 없겠지 싶었는데, 이번에 내가 만든 복잡한 머신러닝 모델을 클라우드 환경에서 디플로이까지 시키면서 그 과정에서 객체 지향과 깔끔한 코드의 필요성을 뼈저리게 느꼈다. SQL 없이 파이썬 만으로 예측모델을 운용하는건 처음이었기 때문에 더 어려웠다.

 

근본이 없기 때문에, 어디를 고쳐야 할지도 알기 어렵고, 파일간 객체 관리를 제대로 하지 못하는 바람에 비슷한 코드를 여러번 쓰곤 했다. 이런 고민을 없애개기 위해 제이펍 출판사에서 출간한 객체지향 파이썬 책의 서평단을 신청했고, 운좋게 당첨이 되어 읽어보았다!

 

 

 

1. 책의 구조

이 책은 파이게임을 이용해서 객체 지향에 대해서 실습한다. 

나는 처음에 파이게임이 뭔지 몰라서, 그냥 같이 게임한다는 건가 했는데, 파이게임이라는 게임을 만들때 쓰는 패키지이더라..

파이게임을 이용해서 처음에는 절차적인 방법으로 간단한 게임 코드를 만든다. 

그리고 점점 더 다양한 클래스의 기능을 이용해서 게임에 기능을 하나씩 추가해나간다.

 

2. 책의 특징

1. 쉽다! 예시를 통해 차근차근 실습하며 설명

이 책은 객체 지향을 이용하지 않았을때의 코드 (절차형 코드) 와  해당 동일한 코드를 객체형으로 표현할때의 차이를 보여준다. 

그래서 책의 첫 시작도 객체 지향형 코드가 주로 어떤 식으로 생겼는지 보여주는 것으로 시작한다. 

그리고 동일 코드를 객체 지향으로 바꾼뒤, 더 많은 기능을 추가하며 복잡한 객체 지향을 천천히 설명한다. 

그렇기 때문에 천천히 따라가면서 이해하기 좋다. 

후다닥 이론이나 개념만 알기 보다는 하나씩 예시를 보면서 제대로 익히기에 좋다고 생각이 들었다.

 

절차 지향형 코드 설명 예
클래스를 사용하기 시작 (절차지향형으로 넘어감)
더 깊은 객체 지향의 세계로 가는 중

 

 

 

2. 깔끔한 모델 코드

 

이 책은 예시를 통해 개념을 설명하다보니, 저자의 깔끔한 코드를 여기저기서 구경할 수 있다. 그렇기 때문에, 이 책을 통해서 익히면 단순히 객체 지향형의 개념을 아는것이 아니라 "더 깔끔한 코드" 를 짤 수 있을 것이라고 생각한다. 객체지향형의 코드가 전반적으로 어떻게 구조화 되어있는지도 엿볼 수 있기 때문에, 차근차근 공부하기 좋은 책으로 생각이 된다. 

 

특히 나의 경우, 주피터 노트북을 이용한 판다스를 기본으로 하는 극-절차 주의형 코드를 많이 짜다보니 객체 지향형 코드를 짜고나서도 뒤돌아보면 절차 지향적인 느낌이 코드에서 묻어나곤 했다. 이런 경우에는 저자의 모델 코드에 계속 노출 되면서 객체와 절차 지향 모두를 능숙하게 다루게 될 수 있을거라고 생각이 든다.

 

 

3. 파이게임 자체에 대한 재미

만드는 것이 직관적으로 눈에 보이는 "게임" 이다보니, 더 쉽게 이해되고 더 재미있다고 생각한다. 사실 실제로 눈에 보이지 않는 프로그램인 경우에는 답답함을 많이 느끼곤 했다. 디버깅을 하려고 해도, 손에 잡히는 프로그램이 아니라 수치 하나만 던져주는 프로그램이라면 어디가 오류인건지 알아내기도 훨씬 어려울 것이다. 

 

나도 아직 다 읽거나 실습하지는 못했지만, 앞으로 짬을 내서 쉬는 시간에 틈틈히 더 게임을 만들어 보려고 한다.