본문 바로가기

도서 소개

효율적 개발로 이끄는 파이썬 실천 기술

파이썬에 숨겨진 힘을 이용해 개발 효율을 높이자!

프로그래밍에 대한 지식은 어느 정도 있지만, 파이썬은 잘 모르는 분들을 위한 실천적 입문서!

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [반디앤루니스]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡]  

출판사 제이펍
저작권사 技術評論社
원서명 Python実践入門 ─ 言語の力を引き出し、開発効率を高める(ISBN: 9784297111113)
지은이 스야마 레이
옮긴이 김연수
출판일 2021년 4월 19일
페이지 404쪽
판   형 크라운판변형(170*225*20)
제   본 무선(soft cover)
정   가 22,000원
ISBN 979-11-90665-87-2 (93000)
키워드 파이썬, python, 조건 분기, 루프, 함수, 클래스, 컴프리헨션, 내장 함수, 특수 메서드, 모듈, 패키지, 표준 라이브러리, 제너레이터, 데커레이터, 콘텍스트 매니저, 디스크립터, 병렬 처리, 비동기 I/O, 가상 환경, 패키징, 단위 테스트
분   야 프로그래밍 / 파이썬

 

관련 사이트
아마존 도서소개 페이지
저작권사 도서소개 페이지

 

관련 포스트
2021/4/8 - What is Pythonic?

 

관련 도서
파이썬으로 배우는 게임 개발 입문편
파이썬으로 배우는 게임 개발 실전편

프로그래머를 위한 파이썬

코딩 강화 파이썬

파이썬 쉽게, 더 쉽게(개정증보판)
한 권으로 배우는 파이썬 기초 & 알고리즘 사고법
엔지니어를 위한 파이썬

 

관련 파일 다운로드

예제 코드 다운로드

 

교재 검토용 증정 안내

■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3

 

강의보조 자료(교재로 채택하신 분들은 메일[textbook@jpub.kr]을 보내주시면 다음의 자료를 보내드리겠습니다.)

■ 본문의 그림과 표

 

샘플 PDF(차례, 옮긴이 머리말, 서문, 베타리더 후기, 1장 '파이썬이란 어떤 언어인가?' 일부, 2장 '파이썬 설치와 개발자를 위한 편리한 기능' 일부)

효율적개발로이끄는파이썬실천기술_sample.pdf
1.57MB

 

정오표 페이지

■ (등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [반디앤루니스]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡]  

 

도서 소개
프로그래밍에 대한 지식은 어느 정도 있지만,
파이썬은 잘 모르는 분들을 위한 읽기 쉬우면서도 얕지 않은 실천적 입문서

 

지난 몇 년 동안 파이썬에 대한 책도 많아졌고, 개발 현장에서의 이용 실적도 꾸준히 늘고 있습니다. 제2, 제3의 프로그래밍 언어 선택지로서 파이썬을 고려하는 분도 많아졌습니다.

 

이 책은 이런 분들을 위한 읽기 쉬우면서도 얕지 않은 입문서로서 파이썬이라는 언어의 사양과 그 특징적인 기능, 표준 라이브러리에 있는 것을 중점적으로 다뤄 웹 개발, 데이터 분석, 머신러닝 등 분야를 가리지 않고 활용할 수 있습니다.

 

각 단계마다 샘플 코드와 코멘트가 무엇을 하고 있는지를 명확히 파악할 수 있도록 자세하게 기술하였고, 파이썬의 기능 설명에만 그치지 않고 실제로 응용 프로그램 제작까지 다루고 있습니다.

 

이 책의 특징

  • 파이썬을 처음 접한 분들에게 탄탄하게 기초를 다질 수 있는 길을 제시
  • 파이썬 소개, 자료형 등 아주 기초적인 주제로 시작하여, 중후반부로 갈수록 다른 입문서에서는 보기 힘든, 깊이 있는 주제를 다루고 있는 독특한 구성
  • 파이썬의 기본적인 문법 외에도 venv, 단위 테스트, CI, 패키지 관리 등을 전체적으로 다루며, 문법 자체보다는 해당 언어로 구현할 작업들을 큰 그림으로 살펴볼 수 있도록 함
  • 파이썬을 사용한 웹 개발, 혹은 인공지능, 빅데이터 분야로 가기 전에 기본 실력을 기르는 활용서로 사용할 것을 추천

이 책의 대상 독자

  • 파이썬을 처음 접하는 분
  • 파이썬에 관심 있는 모든 프로그래머
  • 파이썬의 개념을 다시 한번 정리하고 싶으신 분
  • 파이썬 실력을 초급에서 중상급으로 올리고 싶은 분

지은이 소개

스야마 레이(陶山 嶺)

일본 오이타현 출신. 히로시마 대학 대학원에서 정보공학 박사 과정을 수료했다. 학생 시절에 파이썬을 만난 후 그 커뮤니티의 사상과 분위기에 사로잡혔으며, 이를 통해 기술적인 기초 지식은 물론, 커뮤니티 활동 방법까지 많은 것을 익혔다. PyCon JP 2015에 일반 참가자로 참가했던 것이 계기가 되어 PyCon JP 2016부터 스태프나 발표자로도 참가하고 있다. 취업을 취업을 계기로 상경하게 되었으나, 현재는 히로시마현 오노미치시의 무카이지마에서 완전 재택 업무 중이다.

 

옮긴이 소개

김연수

소프트웨어 개발과 함께 업무 생산성 향상을 높이기 위한 활동들을 지원하기 위해 꾸준히 학습하며 실험하고 있다. 최근 관심사는 ‘나와 주변을 끊임없이 변화시키며 좋은 지식을 전달하는 것’과 ‘스스로 지속할 수 있는 삶’이다. 옮긴 책으로는 《카이젠 저니》, 《알파제로를 분석하며 배우는 인공지능》, 《구글에서 배운 직장인 실무 컴퓨터 활용 45》, 《파이썬으로 배우는 게임 개발 입문편 & 실전편》, 《다양한 예제로 배우는 CSS 설계 실전 가이드》(이상 제이펍), 《IT, 전쟁과 평화》, 《케라스로 배우는 신경망 설계와 구현》, 《팀 토폴로지》(이상 에이콘), 《마케팅 성공률을 높여주는 구글 애널리틱스》(위키북스) 등이 있다.

 

차례

CHAPTER 1 파이썬이란 어떤 언어인가? 1

1.1 프로그래밍 언어로서의 특징 3

           1.1.1 간단하고 읽기 쉬운 동적 타입 언어 3

           1.1.2 하위 호환성 중시 5

           1.1.3 풍부한 표준 라이브러리 6

           1.1.4 다양한 용도로 이용 6

1.2 파이썬의 역사와 현황 7

           1.2.1 파이썬 자체의 진화 8

           1.2.2 파이썬을 둘러싼 환경의 변화 9

1.3 파이썬 커뮤니티의 특징 10

           1.3.1 커뮤니티 주체 오픈소스 소프트웨어 10

           1.3.2 PEP의 존재 11

1.4 정리 15

 

CHAPTER 2 파이썬 설치와 개발자를 위한 편리한 기능 17

2.1 파이썬 설치 19

           2.1.1 OS에 미리 설치되어 있는 파이썬 19

           2.1.2 macOS에서의 이용 19

           2.1.3 Windows에서의 이용 21

           2.1.4 Ubuntu에서의 이용 23

           2.1.5 도커 이용 24

2.2 파이썬 실행 28

           2.2.1 이 책에서 이용하는 파이썬 명령어 28

           2.2.2 파이썬 인터프리터의 두 가지 모드 28

           2.2.3 대화형 모드 인터프리터 29

           2.2.4 대화형 모드의 기본 사용법 29

           2.2.5 대화형 모드에서 자주 사용하는 내장 함수 31

           2.2.6 스크립트 실행 35

           2.2.7 python 명령어와 python3 명령어의 차이 37

2.3 정리 37

더보기

CHAPTER 3 제어 흐름 39

3.1 기본 문법 41

           3.1.1 들여쓰기를 사용한 블록 표현 41

           3.1.2 변수 이용 43

           3.1.3 주석 45

3.2 조건 분기 47

           3.2.1 if 조건을 지정해 처리를 분기함 47

3.3 루프처리 반복 51

           3.3.1 for 엘리먼트 수만큼 처리를 반복 51

           3.3.2 while 조건을 지정해 처리를 반복 55

           3.3.3 break 루프를 벗어남 56

           3.3.4 continue 다음 루프로 이동 57

3.4 예외 처리 59

           3.4.1 try 예외 포착 60

           3.4.2 raise 의도적으로 예외를 발생시킴 65

           3.4.3 사용자 예외 정의 65

           3.4.4 with 정의한 클린업 처리를 반드시 실행함 66

3.5 정리 67

 

CHAPTER 4 데이터 구조 69

4.1 None — 값이 존재하지 않음을 표현 71

           4.1.1 조건식에서의 None 이용 71

4.2 논릿값/거짓을 다룸 72

           4.2.1 bool 타입논릿값을 다루는 타입 72

           4.2.2 불 연산 73

4.3 숫잣값 75

           4.3.1 숫잣값끼리의 연산 75

           4.3.2 숫잣값을 다루는 내장 타입 77

           4.3.3 조건식에서의 숫잣값 이용 80

4.4 문자열 81

           4.4.1 str 타입문자열을 다루는 타입 81

           4.4.2 문자열 연산 82

           4.4.3 for 문에서의 문자열의 동작 82

           4.4.4 조건식에서의 문자열 이용 83

           4.4.5 문자열 안에서의 변수 이용 83

           4.4.6 str 타입과 매우 비슷한 bytes 타입 86

4.5 배열엘리먼트를 1열로 나열해서 다룸 87

           4.5.1 list 타입변경할 수 있는 배열을 다루는 타입 88

           4.5.2 tuple 타입변경할 수 없는 배열을 다루는 타입 90

           4.5.3 조건식에서 이용되는 배열의 특성 93

           4.5.4 튜플과 리스트의 이용 구분 94

4.6 딕셔너리키와 값의 세트를 다룸 94

           4.6.1 dict 타입딕셔너리를 다루는 타입 94

           4.6.2 엘리먼트 추가와 삭제 95

           4.6.3 키를 이용한 엘리먼트로의 접근 95

           4.6.4 키로 이용할 수 있는 객체의 조건 96

           4.6.5 for 문에서의 딕셔너리의 동작 96

           4.6.6 조건식에서 이용할 수 있는 딕셔너리의 특성 97

4.7 집합유일한 엘리먼트의 집합을 다룸 98

           4.7.1 set 타입변경할 수 있는 집합을 다루는 타입 98

           4.7.2 frozenset 타입변경할 수 없는 집합을 다루는 타입 100

           4.7.3 집합 연산합집합, 교집합, 차집합, 대칭차집합 100

           4.7.4 for 문에서의 집합의 동작 101

           4.7.5 조건식에서 이용할 수 있는 집합의 특성 102

4.8 컴프리헨션효율적인 시퀀스 생성 103

           4.8.1 리스트 컴프리헨션효율적인 리스트 생성 103

           4.8.2 기타 컴프리헨션 106

4.9 그 외 타입을 나타내는 개념 106

           4.9.1 가변 객체정의 후 값을 변경할 수 있는 객체 107

           4.9.2 불변 객체정의 후 값을 변경할 수 없는 객체 107

           4.9.3 컨테이너 객체다른 객체에 대한 참조를 가진 객체 107

           4.9.4 이터러블 객체 — for 문에서 이용할 수 있는 객체 108

           4.9.5 호출 가능 객체 — ()를 붙여 호출할 수 있는 객체 108

4.10 정리 108

 

CHAPTER 5 함수 109

5.1 함수관련된 처리를 모음 111

           5.1.1 함수 정의와 실행 111

           5.1.2 인수를 받는 함수 112

           5.1.3 함수는 객체 112

           5.1.4 함수의 반환값 113

           5.1.5 함수의 다양한 인수 115

           5.1.6 인수 리스트 언팩리스트나 딕셔너리에 저장된 값을 인수로 전달 123

           5.1.7 함수의 독스트링 123

5.2 lambda 이름이 없는 함수 작성 125

           5.2.1 lambda 식 정의와 실행 125

           5.2.2 lambda 식을 사용할 위치 125

5.3 타입 힌트 126

           5.3.1 타입 정보를 부여함으로써 얻을 수 있는 장점 126

           5.3.2 타입 정보 부여 126

           5.3.3 타입 힌트 활용 사례정적 분석 도구 이용 128

5.4 정리 129

 

CHAPTER 6 클래스와 인스턴스 131

6.1 파이썬의 클래스 구조 133

           6.1.1 class 키워드를 이용한 클래스 정의 133

           6.1.2 인스턴스 만들기 134

6.2 인스턴스클래스를 기반으로 만들어진 객체 134

           6.2.1 인스턴스 메서드인스턴스에 묶인 메서드 135

           6.2.2 인스턴스 변수인스턴스가 유지하는 변수 136

           6.2.3 인스턴스 초기화 136

           6.2.4 프로퍼티인스턴스 메서드를 인스턴스 변수와 같이 다룸 140

           6.2.5 클래스와 인스턴스의 프라이빗 속성 143

6.3 클래스인스턴스의 모형이 되는 객체 144

           6.3.1 클래스 변수클래스 객체가 유지하는 변수 144

           6.3.2 클래스 메서드클래스에 속한 메서드 146

6.4 클래스 상속 149

           6.4.1 메서드 오버라이드와 super()를 사용한 베이스 클래스로의 접근 149

           6.4.2 모든 객체는 object 클래스의 서브 클래스 150

           6.4.3 다중 상속여러 베이스 클래스를 지정 150

           6.4.4 다중 상속 시 주의점 151

6.5 정리 154

 

CHAPTER 7 모듈, 패키지, 이름 공간, 스코프 155

7.1 모듈코드를 기술한 .py 파일 157

           7.1.1 모듈 작성 157

           7.1.2 모듈 임포트 158

           7.1.3 python3 명령어로 직접 실행하기 158

7.2 패키지모듈의 집합 163

           7.2.1 패키지 작성 164

           7.2.2 패키지 안에 있는 모듈 임포트 165

           7.2.3 import 문 비교 168

7.3 임포트의 구조 172

           7.3.1 모듈 검색 흐름 173

           7.3.2 sys.path — 모듈 검색 경로 173

           7.3.3 PYTHONPATH — sys.path에 검색 경로를 추가 175

7.4 이름 공간과 변수의 스코프 176

           7.4.1 이름 공간이름과 객체의 매핑 176

           7.4.2 스코프직접 접근할 수 있는 영역 177

7.5 정리 185

 

CHAPTER 8 내장 함수와 특수 메서드 187

8.1 내장 함수항상 이용할 수 있는 함수 189

           8.1.1 객체 타입을 조사하는 함수 189

           8.1.2 객체 속성에 관한 함수 192

           8.1.3 getattr( ), setattr( ), delattr( ) — 객체 속성 조작 193

           8.1.4 이터러블 객체를 받는 함수 194

           8.1.5 기타 내장 함수 200

8.2 특수 메서드파이썬이 암묵적으로 호출하는 특별한 메서드 200

           8.2.1 __str__( ), __repr__( ) — 객체를 문자열로 표현 201

           8.2.2 __bool__( ) — 객체를 논릿값으로 평가함 202

           8.2.3 __call__( ) — 인스턴스를 함수처럼 다룸 203

           8.2.4 속성으로의 동적 접근 204

           8.2.5 이터러블 객체로서 동작 207

           8.2.6 컨테이너 객체로서 동작 209

           8.2.7 기타 특수 메서드 212

8.3 정리 213

 

CHAPTER 9 파이썬의 독특한 기능들 215

9.1 제너레이터메모리 효율이 높은 이터러블 객체 217

           9.1.1 제너레이터의 구체적인 예시 217

           9.1.2 제너레이터 구현 217

           9.1.3 제너레이터 이용 시 주의점 221

           9.1.4 제너레이터 실제 사례파일 내용 변환하기 223

           9.1.5 기타 이용 사례 224

9.2 데커레이터함수나 클래스명에 처리 추가 224

           9.2.1 데커레이터의 구체적인 예시 224

           9.2.2 데커레이터 구현 226

           9.2.3 데커레이터 실제 사례처리 시간 측정 231

           9.2.4 기타 이용 사례 232

9.3 콘텍스트 관리자 — with 문 앞뒤에서 처리를 실행하는 객체 233

           9.3.1 콘텍스트 관리자의 구체적인 예시 233

           9.3.2 콘텍스트 관리자 실제 사례일시적인 로깅 수준 변경 238

           9.3.3 기타 이용 사례 239

9.4 디스크립터속성 처리를 클래스로 이첩 240

           9.4.1 디스크립터의 구체적인 예시 240

           9.4.2 디스크립터 구현 242

           9.4.3 디스크립터 실제 사례프로퍼티 캐시 245

           9.4.4 기타 이용 사례 247

9.5 정리 247

 

CHAPTER 10 동시 처리 249

10.1 동시 처리와 병렬 처리여러 처리를 동시에 수행 251

           10.1.1 순차 처리 실행 251

           10.1.2 동시 처리 실행 251

           10.1.3 병렬 처리 실행 252

           10.1.4 파이썬과 동시 처리 252

10.2 concurrent.futures 모듈동시 처리를 위한 고수준 인터페이스 253

           10.2.1 Future 클래스와 Executor 클래스비동기 처리 캡슐화와 실행 254

           10.2.2 ThreadPoolExecutor 클래스스레드 기반 비동기 실행 256

           10.2.3 ThreadPoolExecutor 클래스를 이용한

           10.2.4 ProcessPoolExecutor 클래스프로세스 기반 비동기 실행 263

           10.2.5 ProcessPoolExecutor 클래스를 이용한 다중 프로세스 처리 구현 263

10.3 asyncio 모듈이벤트 루프를 사용한 동시 처리 수행 271

           10.3.1 코루틴처리 도중에 중단, 다시 시작 272

           10.3.2 코루틴 스케줄링과 실행 276

           10.3.3 asyncio 모듈과 HTTP 통신 279

10.4 정리 280

 

CHAPTER 11 개발 환경과 패키지 관리 281

11.1 가상 환경격리된 파이썬 실행 환경 283

           11.1.1 venv — 가상 환경 생성 도구 283

11.2 패키지 이용 289

           11.2.1 pip — 패키지 관리 도구 289

           11.2.2 환경 저장과 재현 — requirements 파일 활용 298

11.3 패키지 작성 302

           11.3.1 setup.py — 패키지 정보를 모아둔 파일 302

           11.3.2 PyPI에 패키지 등록 309

11.4 정리 313

 

CHAPTER 12 단위 테스트 315

12.1 단위 테스트 도입 317

           12.1.1 단일 모듈 테스트 317

           12.1.2 패키지 테스트 319

12.2 unittest 모듈표준 단위 테스트 라이브러리 323

           12.2.1 테스트 케이스 구현 323

           12.2.2 테스트 실행과 결과 확인 327

           12.2.3 특정한 테스트만 실행하기 329

12.3 unittest.mock 모듈모의 객체 이용 331

           12.3.1 모의 객체 기본 사용법 331

           12.3.2 patch를 사용한 객체 치환 334

           12.3.3 mock을 이용한 테스트 케이스 구현 335

12.4 상황에 따른 테스트 케이스 구현 336

           12.4.1 환경에 의존하는 테스트 건너뛰기 337

           12.4.2 예외 발생 테스트하기 338

           12.4.3 다른 파라미터로 동일한 테스트 반복하기 339

           12.4.4 콘텍스트 관리자 테스트하기 340

12.5 정리 341

 

CHAPTER 13 파이썬 애플리케이션 개발 실전 343

13.1 작성할 애플리케이션 345

           13.1.1 LGTM 이미지를 자동으로 생성하는 커맨드 라인 도구 345

           13.1.2 이용할 주요 외부 패키지 346

13.2 프로젝트 작성 349

           13.2.1 Git 이용 350

           13.2.2 패키지 모형 작성 351

13.3 지속적인 통합 도입 354

           13.3.1 CircleCI에서의 테스트 자동화 354

           13.3.2 테스트 실행 및 결과 확인 356

13.4 애플리케이션 개발 358

           13.4.1 커맨드 라인 인수 얻기 358

           13.4.2 이미지 얻기 361

           13.4.3 이미지 처리 364

           13.4.4 각각의 처리 호출 366

13.5 명령어로 실행하기 367

           13.5.1 setup.py 작성 367

           13.5.2 동작 확인하기 368

13.6 정리 369

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  네이버 책  포스트  유튜브  인스타그램  트위터  페이스북