본문 바로가기
+ 펴낸 책

딱 한 줄로! 파이썬 제대로 코딩하기

by 책만 2024. 10. 1.

 딱 한 줄로! 파이썬 제대로 코딩하기 

리스트 컴프리헨션부터 정규표현식, 데이터분석, 머신러닝까지 50가지 실전 예제

크리스찬 마이어 지음 | 장현희 옮김
268쪽 | 22,000원 | 2024년 10월 11일 출간 | 185*240*16 | ISBN 9791189909741 (93000)

판매처 | [교보문고] [YES24] [알라딘] [영풍문고] + 전국 교보/영풍문고 매장
전자책 판매처 | [교보문고] [YES24] [알라딘] [리디북스] | ISBN 9791189909772 | 2024년 12월 9일 출간

 

★  원서: PYTHON ONE-LINERS: Write Concise, Eloquent Python Like a Professional

★  정오표: https://www.onlybook.co.kr/entry/python-oneliner-errata 

 

읽기 쉽고 간결하며 우아하면서도 강력한 파이썬! 
파이썬 언어의 특징을 제대로 살리는 1줄 코딩 실전 예제와 테크닉 50가지
파이썬 실력을 높이고 싶은 초보라면 반드시 읽고 소장해야 할 책!

이 책을 다 읽고 난 독자 여러분은

가장 세련된 형태의 파이썬 코드 작성법을 익히고,

간결하고 아름다운 ‘파이썬 한 줄 코딩’의 마법을 즐기게 될 것이다!

유용한 기능을 수행하는 간결한 구문을 딱 한 줄의 코드로 압축하는 ‘파이썬 한 줄 코딩’의 마법을 선사하는 책이다. 이 책을 통해 어떤 파이썬 코드든 체계적으로 분석해 이해하게 될 것이며, 고수처럼 멋지고 강력하며 압축된 파이썬 코드를 작성하는 법을 배우게 될 것이다. 이 책에서는 여러 가지 프로그래밍 팁과 비법, 정규표현식, 머신러닝, 데이터 분석의 핵심 주제와 함께 유용한 알고리즘까지 다룬다. 한 줄 코드를 구현한 다음에 나오는 ‘한 줄 코드 브리핑’ 절의 내용을 통해 컴퓨터 공학의 핵심 개념을 배울 수 있으며, 여러분의 코딩과 분석 기술도 한 단계 높여줄 것이다.


이 책에서 다루는 내용

- 리스트 컴프리헨션, 슬라이싱, 람다 함수, 정규표현식, 맵/리듀스 함수, 슬라이스 대입 등 고급 파이썬 기능
- 불리언 인덱싱을 이용해 오염도가 평균 이상인 도시를 찾는 등 자료구조를 이용해 실무적인 문제를 해결하는 방법
- 배열, 셰이프, 축, 타입, 브로드캐스팅, 고급 인덱싱, 슬라이싱, 정렬, 검색, 집계, 통계 등 넘파이(NumPy)의 기본
- 다차원 데이터 배열의 기본 통계 계산과 비지도식 학습을 위한 K평균 알고리즘
- 그룹과 명명된 그룹, 부정형 전방탐색, 이스케이프 문자, 공백, 문자 집합(과 네거티브 문자집합), 그리디/넌그리디 연산자 등 고급 정규표현식을 구성하는 방법
- 애너그램, 팰린드롬, 순열, 팩토리얼, 소수, 피보나치 수열, 난독화, 검색, 알고리즘적 정렬 등 광범위한 컴퓨터 공학 주제

| 이 책의 대상 독자 |
- 좀 더 코딩 기술을 높여 최고의 파이썬 마스터가 되고 싶은 파이썬 초보 혹은 중급자
- 파이썬을 깊이 있게 이해하고 언어의 특징을 제대로 살려 코딩하고 싶은 초보 개발자
- 가독성 높고 유지관리가 쉬운 파이썬 코딩 기법을 배우고 싶은 현업 프로그래머
- 간결한 파이썬 코드로 코딩 테스트나 코딩 인터뷰를 준비하는 취준생과 이직자


추천의 글

파이썬은 이제 최신 엔지니어링과 인공지능, 데이터 과학 분야의 필수 도구가 됐다. 마치 운전면허를 따는 것처럼, 파이썬을 배우는 것은 더 이상 선택이 아닌 필수가 되어가고 있다. 하지만 단순히 '할 줄 아는 것'과 '잘하는 것' 사이에는 큰 차이가 있다.
『딱 한 줄로! 파이썬 제대로 코딩하기』는 파이썬 프로그래밍을 간단히 '할 줄 아는 초보자'를 '잘하는 전문가'로 이끄는 훌륭한 안내서다. 저자가 강조하듯, '한 줄 코드'에 집중하는 것은 단순히 기술적 트릭을 익히는 것이 아니라 파이썬의 핵심 철학인 간결함과 표현력을 깊이 이해하고 체화하는 과정이기 때문이다.
이 책에서는 기본기부터 데이터 과학, 머신러닝, 정규표현식, 알고리즘에 이르기까지, 현대 소프트웨어 개발에 필수적인 영역을 집약해 다룬다. 50가지 한 줄 코드 예제는 파이썬의 강력한 기능과 우아한 문법으로 복잡한 작업을 효율적으로 처리하는 방법을 보여준다.
이 책의 진정한 가치는 코드의 간결함을 통해 얻는 통찰력이다. 딱 한 줄의 코드로 문제를 해결하려 노력하는 과정을 통해 여러분은 문제의 본질을 더욱 명확히 이해하게 될 것이다. 또한 파이썬의 고유한 특징인 리스트 컴프리헨션, 제너레이터, 람다 함수 등도 자연스럽게 익히며, 더욱 '파이썬다운' 코드를 작성할 수 있게 될 것이다.
결국 이 책의 목표는 단순히 짧은 코드를 작성하는 것이 아니다. 그보다는 오히려 명확하고 효율적인 사고방식을 기르는 것에 있다. 이는 단순한 재미를 넘어 현업의 대규모 프로젝트에서도 복잡한 코드베이스를 이해하고 최적화하는 데 큰 도움이 될 것이다.
마지막으로, 이 책은 학습의 즐거움을 선사한다. 각 장의 예제를 통해 복잡한 문제를 우아하게 해결하는 과정은 마치 퍼즐을 푸는 듯한 희열을 줄 것이다. 단순한 기술 습득을 넘어, 프로그래밍을 즐기고 사랑하게 만드는 원동력이 될 것이다.
파이썬을 배우는 모든 이들, 그리고 이미 파이썬을 사용하고 있지만 자신의 실력을 한 단계 더 끌어올리고 싶은 모든 개발자에게 이 책을 강력히 추천한다. 『딱 한 줄로! 파이썬 제대로 코딩하기』와 함께라면, 여러분은 단순한 파이썬 사용자를 넘어 진정한 파이썬 장인으로 거듭날 수 있을 것이다.
- 박상길 / 디노티시아 LLM 연구개발, 전 현대자동차 인공지능 기술 리더, 『파이썬 알고리즘 인터뷰』 저자


지은이 크리스찬 마이어 Christian Mayer

컴퓨터 공학 박사이며, 유명한 파이썬 사이트인 핀스터(Finxter)를 설립해 운영하면서 2만 명 이상의 구독자를 가진 이메일 뉴스레터 서비스도 제공하고 있다. 핀스터 사이트는 크리스찬이 만든 이후 급격히 성장해 현재 수만 명의 학생들이 코딩 스킬을 연마하고 온라인 비즈니스를 수행하는 데 큰 도움을 주고 있다. 자비 출판한 『커피 브레이크 파이썬(Coffee Break Python)』 시리즈와 『클린 코드의 기술』도 저술했다.

파이썬 초보이거나 중급자라면 여러분의 동료 대부분이 그렇듯 코딩 과정에서 막히는 경우가 있을 것이다. 이 책은 여러분을 돕기 위한 책이다. 여러분은 온라인에서 엄청난 양의 프로그래밍 튜토리얼을 읽었을 것이다. 스스로 소스 코드를 쓰고 작은 프로젝트를 성공적으로 출시한 경험도 있을 것이다. 기본적인 프로그래밍 코스도 완료하고 프로그래밍 책도 한두 권 읽었을 것이다. 심지어 대학에서 컴퓨터 과학과 프로그래밍의 기본을 배우는 기술 프로그램을 이수했을 수도 있다.

어쩌면 여러분은 다른 개발자가 자신보다 소스 코드를 훨씬 빨리 이해한다거나 자신이 상위 10% 프로그래머에 들지 못한다는 생각에 스스로를 가둘지도 모른다. 더 고급 코딩 기술을 갖추고 최고의 코딩 전문가가 되려면 그에 해당하는 새로운 스킬을 배울 필요가 있다.

나 역시 10년 전 컴퓨터 공학을 배우기 시작할 때 코딩을 전혀 모른다는 생각에 사로잡혀 있었다. 동시에 동기들은 모두 경험이 있고 능숙한 것처럼 보였다. 나는 이 책을 통해 여러분이 스스로를 얽매는 생각을 극복하고 파이썬 마스터로 한걸음 더 가까이 갈 수 있도록 돕고자 한다.

옮긴이 장현희

지난 10여 년간 호주와 캐나다에서 시니어 엔지니어 및 스태프 엔지니어로 경험을 쌓았으며 현재는 프린시펄 소프트웨어 엔지니어로서 소프트웨어 개발은 물론 성공적인 엔지니어링 팀과 문화의 구축에 힘을 쏟고 있다. 지금까지 총 30권의 개발 관련서를 집필/번역하면서 책이라는 매개체로 멀리서나마 국내 개발자들과 꾸준히 소통하고 있으며 대표적인 번역서로는 『필독! 개발자 온보딩 가이드』(책만, 2023), 『안녕하세요, 오늘부터 매니저입니다』(길벗, 2023), 『스태프 엔지니어』(길벗, 2022), 『SRE를 위한 시스템 설계와 구축』(한빛미디어, 2022), 『구글 빅쿼리 완벽 가이드』(책만, 2020), 『엔터프라이즈 데이터 플랫폼 구축』(책만, 2020), 『사이트 신뢰성 엔지니어링』(제이펍, 2018), 『클라우드 네이티브 자바』(책만, 2018) 등이 있다.

파이썬은 언어 자체의 간결함과 높은 가독성 및 유연성으로 원래 인기가 높은 프로그래밍 언어였지만, 특히 데이터 과학과 머신러닝/인공지능 분야에 더욱 널리 사용되고 있습니다. 넘파이(NumPy)나 텐서플로(TensorFlow), 파이토치(PyTorch) 등 고품질의 우수한 라이브러리의 등장은 파이썬의 인기에 큰 영향을 미쳤습니다.

이 책은 파이썬 초급자는 물론 고급 사용자에게도 많은 도움이 될 수 있는 다양한 기법을 소개합니다. 50여 개의 실용적인 문제를 단 한 줄의 파이썬 코드로 해결해 보면서 파이썬이 얼마나 간결하고 우수한 문법을 제공하는지, 얼마나 다양한 라이브러리를 얼마나 효과적으로 활용할 수 있는지를 여실히 보여주는 것은 물론, 그 동작 원리를 매우 상세히 설명해 줍니다. 특히 각각의 챕터를 할애해 파이썬의 활용도가 높은 데이터 과학과 머신러닝 분야를 집중해 다루는 것도 이 책의 매력 포인트라 할 수 있습니다.

저자도 이 책의 말미에서 설파하듯이 어떤 문제를 해결하는 코드를 한 줄로 작성하는 것을 무조건적으로 좋다고 말할 수는 없겠지만, 분명히 도움이 되는 부분도 있습니다. 한 줄 코드는 작은 문제를 효율적으로 해결하며 가독성과 코드의 효율을 높이고 특히 명령줄 인터페이스에서 빠르게 데이터를 처리하거나 파일을 직접 조작하는 등의 작업을 효과적으로 수행하는 데 큰 도움이 됩니다. 
모쪼록 이 책 독자 여러분의 파이썬 코딩 스킬을 한 단계 더 발전시키는 데 도움이 되길 바랍니다.

차례

1장 빠르게 훑는 파이썬 기본기
자료구조란 무엇인가
__산술 자료형과 구조
__불리언
__문자열
__None 키워드
컨테이너 자료구조
__리스트
__스택
__셋
__딕셔너리
__멤버십
__리스트와 셋 컴프리헨션
흐름 제어
__if, else, elif
__루프
함수
람다
정리

2장 파이썬 200% 활용 비법
Q 01 리스트 컴프리헨션을 이용해 고액연봉자 찾기
Q 02 리스트 컴프리헨션을 활용해 정보 가치가 높은 단어 찾기
Q 03 파일 읽기
Q 04 람다와 맵 함수
Q 05 슬라이싱을 이용해 일치하는 문자열 추출하기
Q 06 리스트 컴프리헨션과 슬라이싱을 조합하기
Q 07 슬라이스 대입을 이용해 손상된 리스트 수정하기
Q 08 리스트 결합을 이용해 심박 데이터 분석하기
Q 09 제너레이터 표현식을 이용해 최저임금보다 낮은 임금을 지급하는 회사 찾기
Q 10 zip() 함수로 데이터베이스 형식화하기
정리

3장 데이터 과학
Q 11 기본적인 2차원 배열 산술 연산
Q 12 넘파이 배열 다루기: 슬라이싱, 브로드캐스팅, 배열 타입
Q 13 조건부 배열 검색, 필터링, 브로드캐스팅을 이용한 이상치 탐지
Q 14 불리언 인덱싱으로 2차원 배열 필터링하기
Q 15 브로드캐스팅, 슬라이스 대입, 형태 변경을 이용해 i번째 배열 요소를 제거하기
Q 16 넘파이 sort() 함수와 argsort() 함수의 비교
Q 17 람다 함수와 불리언 인덱싱을 이용해 배열 필터링하기
Q 18 통계, 수학, 논리를 이용한 고급 배열 필터링
Q 19 간단한 연관 분석: X와 Y제품을 모두 구매한 사용자 찾기
Q 20 중급 연관 분석을 이용해 베스트셀러 결합상품 찾기
정리

4장 머신러닝
지도식 머신러닝이란
__훈련 단계
__추론 단계
Q 21 선형 회귀 구현하기
Q 22 로지스틱 회귀 구현하기
Q 23 K평균 클러스터링 알고리즘
Q 24 K최근접 이웃 알고리즘
Q 25 신경망 분석하기
Q 26 의사결정 트리 학습하기
Q 27 분산값이 가장 낮은 행 구하기
Q 28 기본적인 통계 구현하기
Q 29 서포트 벡터 머신을 이용한 분류 구현하기
Q 30 랜덤 포레스트를 이용한 분류 구현하기
정리

5장 정규표현식
Q 31 문자열에서 기본적인 텍스트 패턴 찾기
Q 32 정규표현식으로 웹 수집기 작성하기
Q 33 HTML 문서의 하이퍼링크 분석하기
Q 34 문자열에서 통화 추출하기
Q 35 안전하지 않은 HTTP URL 검색하기
Q 36 사용자가 입력한 시간의 유효성 검증하기(1)
Q 37 사용자가 입력한 시간의 유효성 검증하기(2)
Q 38 문자열에서 중복을 검사하기
Q 39 단어의 반복 찾아내기
Q 40 여러 줄 문자열에서 정규표현식 패턴 수정하기
정리

6장 알고리즘
Q 41 람다 함수와 정렬로 애너그램 찾아내기
Q 42 람다 함수와 음수 슬라이싱으로 팰린드롬 찾기
Q 43 재귀적 팩토리얼 함수를 사용해 순열 개수 계산하기
Q 44 레벤슈타인 거리 계산하기
Q 45 함수형 프로그래밍을 이용해 멱집합 계산하기
Q 46 고급 인덱싱과 리스트 컴프리헨션을 이용한 카이사르 암호화 구현하기
Q 47 에라토스테네스의 체를 이용한 소수 찾기
Q 48 reduce() 함수로 피보나치 수열 계산하기
Q 49 재귀적 이진 탐색 알고리즘
Q 50 재귀적 퀵정렬 알고리즘
정리

댓글