Book description
이 책은 『Head First』 시리즈 학습 원리에 기초하여 모든 페이지가 그림과 대화체를 바탕으로 구성되어 있습니다. 딱딱한 강의식 말투보다는 개인적으로 대화를 나누듯 재미있는 설명으로 파이썬을 다룹니다. 또한 80개가 넘는 실습을 직접 해보면서 더 잘 배우고 기억하도록 만들어졌습니다. 『Head First Python, 개정판』은 여러분의 두뇌를 끊임없이 자극합니다. 이 책을 덮을 때쯤이면 자신도 모르는 사이에 파이썬이 학습되어 있을 것입니다!
Table of contents
- Head First Python, 개정판
- 서문
-
1장 기초
- IDLE 창 이해하기
- 코드를 한 번에 한 행씩 실행하기
- 함수 + 모듈 = 표준 라이브러리
- 자료구조를 내장 기능으로 제공합니다
- 메서드를 호출하고 결과를 얻습니다
- 언제 코드 블록을 실행할 것인지 결정하기
- ‘if’ 문에서 ‘else’는 어떻게 사용되나요?
- 스위트 안에 스위트를 포함할 수 있어요
- 파이썬 쉘로 돌아와서
- 쉘에서 실험하기
- 객체 시퀀스 반복하기
- 특정 횟수만큼 반복하기
- 첫 번째 작업 결과를 코드에 적용하기
- 정지 기능 준비
- 파이썬으로 난수 생성하기 (1/2)
- 파이썬으로 난수 생성하기 (2/2)
- 심각하게 바쁜 애플리케이션 코딩하기
- 들여쓰기에 적응하기가 쉽지 않은가요?
- 인터프리터에 함수 정보 요청하기
- range 실험
- 1장의 코드
-
2장 리스트 데이터
- 숫자, 문자열... 그리고 객체
- 네 가지 내장 자료구조를 만나보세요
- 순서가 없는 자료구조: 딕셔너리
- 중복을 허용하지 않는 자료구조: 집합
- 리터럴 리스트 만들기
- 여러 행의 코드가 필요할 때는 편집기에서 작업하세요
- 리스트를 런타임에 ‘증가’시키기
- ‘in’으로 멤버 여부 확인하기
- 리스트에서 객체 제거하기
- 객체로 리스트 확장하기
- 리스트에 객체 추가하기 (1/2)
- 리스트에 객체 추가하기 (2/2)
- 자료구조를 복사하는 방법
- 리스트는 대괄호 표기를 확장했습니다
- 리스트는 시작, 중지, 스텝을 이해합니다
- 리스트의 시작과 중지
- 리스트의 슬라이스 활용하기 (1/2)
- 리스트의 슬라이스 활용하기 (2/2)
- 파이썬의 ‘for’루프는 리스트를 이해합니다
- Marvin의 슬라이스 파헤치기
- 리스트를 사용하지 말아야 할 때
- 2장의 코드, 1/2
-
3장 구조화된 데이터
- 딕셔너리는 키/값 쌍을 저장합니다
- 코드에서 딕셔너리 찾기
- 삽입 순서는 유지되지 않아요
- 대괄호로 값 찾기
- 런타임에 딕셔너리 활용하기
- 빈도수 갱신하기
- 딕셔너리 반복하기
- 키와 값 반복하기
- ‘items’로 딕셔너리 반복하기
- 딕셔너리는 얼마나 동적인가?
- 런타임 KeyError 해결하기
- ‘in’으로 멤버십 확인하기
- 사용하기 전에 초기화 여부 확인하기
- ‘in’을 ‘not in’으로 바꾸기
- ‘setdefault’ 메서드 사용하기
- 효과적으로 집합 만들기
- Set 메서드 활용하기 (1/2)
- Set 메서드 활용하기 (2/2)
- 튜플 활용 예제 만들기
- 내장 자료구조 결합하기 (1/2)
- 내장 자료구조 결합하기 (2/2)
- 복잡한 자료구조의 데이터에 접근하기
- 3장의 코드, 1/2
-
4장 코드 재사용
- 함수로 코드 재사용하기
- 함수를 소개합니다
- 정의한 함수 호출하기
- 함수는 인자를 받을 수 있습니다
- 한 개의 값 반환하기
- 두 개 이상의 값 반환하기
- 내장 자료구조 복습
- 대중적으로 유용한 함수 만들기
- 다른 함수 만들기, 1/3
- 인자의 기본값 지정하기
- 위치 할당과 키워드 할당
- 함수: 지금까지 배운 내용 갱신
- 명령 프롬프트에서 파이썬 실행하기
- 필요한 셋업 파일 만들기
- 배포 파일 만들기
- ‘pip’로 패키지 설치하기
- 값으로 전달 기법 시연
- 레퍼런스로 전달 기법 시연
- 테스팅 개발 도구 설치
- 우리 코드는 얼마나 PEP 8을 잘 준수할까요?
- 실패 메시지 이해하기
- 4장의 코드
-
5장 웹앱 만들기
- 파이썬: 지금까지 배운 내용
- 웹앱으로 무엇을 할 건가요?
- 플라스크를 설치합시다
- 플라스크는 어떻게 작동하나요?
- 처음으로 플라스크 웹앱 실행하기
- 플라스크 웹앱 객체 만들기
- 함수를 URL로 장식하기
- 웹앱 동작 실행하기
- 웹에 기능 추가하기
- HTML 폼 만들기
- 웹 페이지 관련 템플릿
- 플라스크에서 템플릿 렌더링하기
- 웹앱의 HTML 폼 표시하기
- 템플릿 코드 실행 준비
- HTTP 상태 코드 이해하기
- 덧붙여진 데이터 처리하기
- 편집/중지/시작/테스트 사이클 개선하기
- 플라스크로 HTML 폼 데이터 접근하기
- 웹앱에서 요청 데이터 사용하기
- 결과를 html로 만들기 (1/2)
- 결과를 html로 만들기 (2/2)
- 웹앱을 클라우드에 배포하기
- 5장의 코드
-
6장 데이터 저장과 취급
- 우리 웹앱 데이터로 뭔가를 해야 한다면...
- 파이썬은 열기, 처리하기, 닫기를 지원해요
- 기존 파일에서 데이터 읽기
- 열기, 처리하기, 닫기보다 편리한 ‘with’ (1/2)
- 열기, 처리하기, 닫기보다 편리한 ‘with’ (2/2)
- 웹앱으로 로그 보기
- 소스 보기 기능으로 가공되지 않은 데이터 확인하기
- 데이터 이스케이프
- 웹앱의 전체 로그 보기
- 특정 웹 요청 속성만 로깅하기
- 데이터를 구분해 한 행으로 로깅하기
- 가공되지 않은 데이터를 읽기 쉬운 형태로 출력하기 (1/2)
- 가공되지 않은 데이터를 읽기 쉬운 형태로 출력하기 (2/2)
- HTML로 읽기 쉬운 출력 만들기
- 출력 로직을 템플릿에 삽입하기
- Jinja2로 읽기 쉬운 출력 만들기
- 우리 웹앱의 현재 코드 상태
- 여러분 데이터에 관한 질문
- 6장의 코드
-
7장 데이터베이스 사용하기
- 웹앱에 데이터베이스 활성화하기
- 작업 1: MySQL 서버 설치하기
- 파이썬의 DB-API를 소개합니다
- 작업 2: 파이썬용 MySQL 데이터베이스 드라이버 설치하기
- MySQL-Connector/Python 설치하기
- 작업 3: 웹앱 데이터베이스와 테이블 만들기
- 로그 데이터 구조 결정하기
- 테이블에 데이터를 저장할 수 있는지 확인하세요 (1/2)
- 테이블에 데이터를 저장할 수 있는지 확인하세요 (2/2)
- 작업 4: 데이터베이스와 테이블을 웹앱의 코드로 활용하기
- 데이터 저장은 겨우 절반에 불과해요
- 데이터베이스를 재활용하는 가장 좋은 방법
- 무엇을 재사용하려는지부터 확인하세요
- 임포트는 어쨌나요?
- 이미 봤던 패턴이에요
- 안타까운 소식이 그렇게 나쁜 것은 아니에요
- 7장의 코드
-
8장 클래스 맛보기
- ‘with’ 문과 연결하기
- 객체 지향 입문
- 클래스로 객체 만들기
- 객체는 동작을 공유하지만 상태는 공유하지 않습니다
- CountFromBy로 더 다양한 작업 수행하기
- 메서드 호출: 세부 동작 이해
- 클래스에 메서드 추가하기
- ‘self’의 중요성
- 영역 극복하기
- 속성 이름 앞에 ‘self’를 붙이세요
- 사용하기 전에 속성값 초기화하기
- 던더 ‘init’은 속성값을 초기화합니다
- 던더 ‘init’으로 속성값 초기화하기
- CountFromBy의 표현 결과 이해하기
- CountFromBy의 출력 결과 정의하기
- CountFromBy에 실용적인 기본값 기능 추가하기
- 클래스: 지금까지 배운 내용
- 8장의 코드
-
9장 컨텍스트 관리 프로토콜
- 웹앱 데이터베이스 코드를 제대로 공유하는 방법?
- 메서드로 컨텍스트 관리하기
- 컨텍스트 관리자가 어떻게 동작하는지는 이미 살펴봤어요
- 새 컨텍스트 관리자 클래스 만들기
- 데이터베이스 설정으로 클래스 초기화하기
- 던더 ‘enter’로 설정 작업하기
- 던더 ‘exit’로 마무리 수행하기
- 우리 웹앱 코드 다시 확인하기, 1/2
- ‘log_request’ 함수 다시 확인하기
- ‘log_request’ 함수 고치기
- ‘view_the_log’ 함수 다시 확인하기
- 코드만 바뀐 것이 아니에요
- ‘view_the_log’ 함수 고치기
- 데이터 질문에 답하기
- 9장의 코드, 1/2
-
10장 함수 장식자
- 컴퓨터가 아니라 웹 서버가 우리 코드를 실행합니다
- 플라스크의 세션 기술로 상태 추가하기
- 딕셔너리를 검색해 저장된 상태 가져오기
- 세션으로 로그인 관리하기
- 로그아웃과 상태 확인 기능 구현하기 (1/2)
- 로그아웃과 상태 확인 기능 구현하기 (2/2)
- 함수를 함수로 전달하기
- 전달받은 함수 호출하기
- 인자 리스트 받기
- 인자 리스트 처리하기
- 딕셔너리 인자 받기
- 딕셔너리 인자 처리하기
- 임의 개수로 이루어진 다양한 유형의 함수 인자 받기
- 함수 장식자 만들기
- 마지막 단계: 인자 처리
- 장식자를 이용하세요
- /viewlog 접근 제한 문제로 돌아와서
- 10장의 코드, 1/2
-
11장 예외 처리
- 데이터베이스의 가용 상태는 언제든 달라질 수 있어요
- 웹 공격은 정말 괴로운 일이에요
- 때로는 입출력이 오래 걸릴 수 있어요
- 함수 호출이 실패로 끝날 수 있습니다
- 에러가 쉽게 발생할 수 있는 코드는 항상 실행해보세요
- try 한 개에 여러 번의 except
- 모든 예외를 잡아 처리하는 핸들러
- ‘sys’로 예외 정보 얻기
- 모든 예외를 잡아 처리하는 핸들러, 다시 확인하기
- 우리 웹앱 코드로 돌아와서
- 예외를 조용히 처리하세요 (1/2)
- 예외를 조용히 처리하세요 (2/2)
- 다른 데이터베이스 에러 처리하기
- 강하게 결합된 코드는 피하세요
- DBcm 모듈, 다시 보기
- 커스텀 예외 만들기
- ‘DBcm’에 또 어떤 문제가 생길 수 있나요?
- SQLError 처리 방법은 달라요
- SQLError 일으키기
- 간단 복습: 탄탄함 추가하기
- 기다림을 어떻게 처리해야 할까요? 그때그때 달라요...
- 11장의 코드, 1/3
- 11¾장 스레드 맛보기
-
12장 고급 반복
- CSV 데이터를 리스트로 읽기
- CSV 데이터를 딕셔너리로 읽기
- 가공하지 않은 데이터에서 공백을 제거한 다음 나누세요
- 메서드 체인 호출 시 주의하세요
- 원하는 형식으로 데이터 변환하기
- 리스트의 딕셔너리로 변환하기
- 리스트 관련 패턴 찾기
- 패턴을 컴프리헨션으로 바꾸기
- 컴프리헨션 자세히 들여다보기
- 딕셔너리 컴프리헨션 만들기
- 필터로 컴프리헨션 확장하기
- 파이썬 방식으로 복잡한 문제 처리하기 (1/2)
- 파이썬 방식으로 복잡한 문제 처리하기 (2/2)
- 집합 컴프리헨션 사용
- ‘튜플 컴프리헨션’은 어디에?
- 괄호로 감싼 코드 == 생성기
- 리스트컴프로 URL 처리하기
- 생성기로 URL 처리하기
- 함수에 필요한 기능을 정의하세요
- 생성기 함수의 능력에 양보하세요
- 생성기 함수 추적하기, 1/2
- 마지막 질문
- 12장의 코드
- 떠날 시간이에요...
- 부록 a: 설치
- 부록 b: 파이썬애니웨어
- 부록 c: 우리가 다루지 않은 열 가지 인기 항목
- 부록 d: 우리가 다루지 않은 열 가지 인기 프로젝트
- 부록 e: 참여하기
- 찾아보기 (1/3)
- 찾아보기 (2/3)
- 찾아보기 (3/3)
Product information
- Title: Head First Python, 개정판 : 스스로 질문하며 답을 찾는 파이썬 학습서(Python 3)
- Author(s):
- Release date: December 2017
- Publisher(s): Hanbit Media, Inc.
- ISBN: 9791162240281
You might also like
book
우아한 사이파이: 수학, 과학, 엔지니어링을 위한 파이썬 데이터 분석 라이브러리 SciPy
"사이파이는 통계, 신호 처리, 이미지 처리 및 함수 최적화에 사용되는 파이썬 데이터 과학 핵심 라이브러리다. 이 …
book
NGINX 쿡북 : 112가지 레시피로 배우는 고성능 부하분산, 보안, 서버 배포와 관리
이 책은 엔진엑스의 고성능 부하분산과 보안 기능, 서버 배포와 관리 방법에 초점을 맞춘다. 책에 수록된 풍부한 …
book
몽고DB 완벽 가이드(3판): 실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지
몽고DB 입문자를 위한 기초부터 실제 배포에 적용할 수 있는 실용적이고 깊이 있는 내용까지 담았다. 개정 3판에서는 …
book
매니징 쿠버네티스: 창시자가 알려주는 쿠버네티스 클러스터 현장 운영 기법
이 책은 쿠버네티스 기능을 최대로 활용하고 싶은 개발자와 운영자를 위한 책입니다. 쿠버네티스의 구성 방식과 작동 원리를 …