Head First Python, 개정판 : 스스로 질문하며 답을 찾는 파이썬 학습서(Python 3)

Book description

이 책은 『Head First』 시리즈 학습 원리에 기초하여 모든 페이지가 그림과 대화체를 바탕으로 구성되어 있습니다. 딱딱한 강의식 말투보다는 개인적으로 대화를 나누듯 재미있는 설명으로 파이썬을 다룹니다. 또한 80개가 넘는 실습을 직접 해보면서 더 잘 배우고 기억하도록 만들어졌습니다. 『Head First Python, 개정판』은 여러분의 두뇌를 끊임없이 자극합니다. 이 책을 덮을 때쯤이면 자신도 모르는 사이에 파이썬이 학습되어 있을 것입니다!

Table of contents

  1. Head First Python, 개정판
    1. 저자소개
    2. 역자서문
    3. 찬사
    4. 목차 (1/4)
    5. 목차 (2/4)
    6. 목차 (3/4)
    7. 목차 (4/4)
  2. 서문
    1. 누구를 위한 책일까요?
    2. 지금쯤 여러분은 이런 생각을 하고 있을 겁니다
    3. 여러분의 두뇌는 이런 식으로 동작합니다
    4. 초인지: 생각에 대한 생각
    5. 이 책에서는 이렇게 했습니다
    6. 알아두세요
    7. 감사의 글
  3. 1장 기초
    1. IDLE 창 이해하기
    2. 코드를 한 번에 한 행씩 실행하기
    3. 함수 + 모듈 = 표준 라이브러리
    4. 자료구조를 내장 기능으로 제공합니다
    5. 메서드를 호출하고 결과를 얻습니다
    6. 언제 코드 블록을 실행할 것인지 결정하기
    7. ‘if’ 문에서 ‘else’는 어떻게 사용되나요?
    8. 스위트 안에 스위트를 포함할 수 있어요
    9. 파이썬 쉘로 돌아와서
    10. 쉘에서 실험하기
    11. 객체 시퀀스 반복하기
    12. 특정 횟수만큼 반복하기
    13. 첫 번째 작업 결과를 코드에 적용하기
    14. 정지 기능 준비
    15. 파이썬으로 난수 생성하기 (1/2)
    16. 파이썬으로 난수 생성하기 (2/2)
    17. 심각하게 바쁜 애플리케이션 코딩하기
    18. 들여쓰기에 적응하기가 쉽지 않은가요?
    19. 인터프리터에 함수 정보 요청하기
    20. range 실험
    21. 1장의 코드
  4. 2장 리스트 데이터
    1. 숫자, 문자열... 그리고 객체
    2. 네 가지 내장 자료구조를 만나보세요
    3. 순서가 없는 자료구조: 딕셔너리
    4. 중복을 허용하지 않는 자료구조: 집합
    5. 리터럴 리스트 만들기
    6. 여러 행의 코드가 필요할 때는 편집기에서 작업하세요
    7. 리스트를 런타임에 ‘증가’시키기
    8. ‘in’으로 멤버 여부 확인하기
    9. 리스트에서 객체 제거하기
    10. 객체로 리스트 확장하기
    11. 리스트에 객체 추가하기 (1/2)
    12. 리스트에 객체 추가하기 (2/2)
    13. 자료구조를 복사하는 방법
    14. 리스트는 대괄호 표기를 확장했습니다
    15. 리스트는 시작, 중지, 스텝을 이해합니다
    16. 리스트의 시작과 중지
    17. 리스트의 슬라이스 활용하기 (1/2)
    18. 리스트의 슬라이스 활용하기 (2/2)
    19. 파이썬의 ‘for’루프는 리스트를 이해합니다
    20. Marvin의 슬라이스 파헤치기
    21. 리스트를 사용하지 말아야 할 때
    22. 2장의 코드, 1/2
  5. 3장 구조화된 데이터
    1. 딕셔너리는 키/값 쌍을 저장합니다
    2. 코드에서 딕셔너리 찾기
    3. 삽입 순서는 유지되지 않아요
    4. 대괄호로 값 찾기
    5. 런타임에 딕셔너리 활용하기
    6. 빈도수 갱신하기
    7. 딕셔너리 반복하기
    8. 키와 값 반복하기
    9. ‘items’로 딕셔너리 반복하기
    10. 딕셔너리는 얼마나 동적인가?
    11. 런타임 KeyError 해결하기
    12. ‘in’으로 멤버십 확인하기
    13. 사용하기 전에 초기화 여부 확인하기
    14. ‘in’을 ‘not in’으로 바꾸기
    15. ‘setdefault’ 메서드 사용하기
    16. 효과적으로 집합 만들기
    17. Set 메서드 활용하기 (1/2)
    18. Set 메서드 활용하기 (2/2)
    19. 튜플 활용 예제 만들기
    20. 내장 자료구조 결합하기 (1/2)
    21. 내장 자료구조 결합하기 (2/2)
    22. 복잡한 자료구조의 데이터에 접근하기
    23. 3장의 코드, 1/2
  6. 4장 코드 재사용
    1. 함수로 코드 재사용하기
    2. 함수를 소개합니다
    3. 정의한 함수 호출하기
    4. 함수는 인자를 받을 수 있습니다
    5. 한 개의 값 반환하기
    6. 두 개 이상의 값 반환하기
    7. 내장 자료구조 복습
    8. 대중적으로 유용한 함수 만들기
    9. 다른 함수 만들기, 1/3
    10. 인자의 기본값 지정하기
    11. 위치 할당과 키워드 할당
    12. 함수: 지금까지 배운 내용 갱신
    13. 명령 프롬프트에서 파이썬 실행하기
    14. 필요한 셋업 파일 만들기
    15. 배포 파일 만들기
    16. ‘pip’로 패키지 설치하기
    17. 값으로 전달 기법 시연
    18. 레퍼런스로 전달 기법 시연
    19. 테스팅 개발 도구 설치
    20. 우리 코드는 얼마나 PEP 8을 잘 준수할까요?
    21. 실패 메시지 이해하기
    22. 4장의 코드
  7. 5장 웹앱 만들기
    1. 파이썬: 지금까지 배운 내용
    2. 웹앱으로 무엇을 할 건가요?
    3. 플라스크를 설치합시다
    4. 플라스크는 어떻게 작동하나요?
    5. 처음으로 플라스크 웹앱 실행하기
    6. 플라스크 웹앱 객체 만들기
    7. 함수를 URL로 장식하기
    8. 웹앱 동작 실행하기
    9. 웹에 기능 추가하기
    10. HTML 폼 만들기
    11. 웹 페이지 관련 템플릿
    12. 플라스크에서 템플릿 렌더링하기
    13. 웹앱의 HTML 폼 표시하기
    14. 템플릿 코드 실행 준비
    15. HTTP 상태 코드 이해하기
    16. 덧붙여진 데이터 처리하기
    17. 편집/중지/시작/테스트 사이클 개선하기
    18. 플라스크로 HTML 폼 데이터 접근하기
    19. 웹앱에서 요청 데이터 사용하기
    20. 결과를 html로 만들기 (1/2)
    21. 결과를 html로 만들기 (2/2)
    22. 웹앱을 클라우드에 배포하기
    23. 5장의 코드
  8. 6장 데이터 저장과 취급
    1. 우리 웹앱 데이터로 뭔가를 해야 한다면...
    2. 파이썬은 열기, 처리하기, 닫기를 지원해요
    3. 기존 파일에서 데이터 읽기
    4. 열기, 처리하기, 닫기보다 편리한 ‘with’ (1/2)
    5. 열기, 처리하기, 닫기보다 편리한 ‘with’ (2/2)
    6. 웹앱으로 로그 보기
    7. 소스 보기 기능으로 가공되지 않은 데이터 확인하기
    8. 데이터 이스케이프
    9. 웹앱의 전체 로그 보기
    10. 특정 웹 요청 속성만 로깅하기
    11. 데이터를 구분해 한 행으로 로깅하기
    12. 가공되지 않은 데이터를 읽기 쉬운 형태로 출력하기 (1/2)
    13. 가공되지 않은 데이터를 읽기 쉬운 형태로 출력하기 (2/2)
    14. HTML로 읽기 쉬운 출력 만들기
    15. 출력 로직을 템플릿에 삽입하기
    16. Jinja2로 읽기 쉬운 출력 만들기
    17. 우리 웹앱의 현재 코드 상태
    18. 여러분 데이터에 관한 질문
    19. 6장의 코드
  9. 7장 데이터베이스 사용하기
    1. 웹앱에 데이터베이스 활성화하기
    2. 작업 1: MySQL 서버 설치하기
    3. 파이썬의 DB-API를 소개합니다
    4. 작업 2: 파이썬용 MySQL 데이터베이스 드라이버 설치하기
    5. MySQL-Connector/Python 설치하기
    6. 작업 3: 웹앱 데이터베이스와 테이블 만들기
    7. 로그 데이터 구조 결정하기
    8. 테이블에 데이터를 저장할 수 있는지 확인하세요 (1/2)
    9. 테이블에 데이터를 저장할 수 있는지 확인하세요 (2/2)
    10. 작업 4: 데이터베이스와 테이블을 웹앱의 코드로 활용하기
    11. 데이터 저장은 겨우 절반에 불과해요
    12. 데이터베이스를 재활용하는 가장 좋은 방법
    13. 무엇을 재사용하려는지부터 확인하세요
    14. 임포트는 어쨌나요?
    15. 이미 봤던 패턴이에요
    16. 안타까운 소식이 그렇게 나쁜 것은 아니에요
    17. 7장의 코드
  10. 8장 클래스 맛보기
    1. ‘with’ 문과 연결하기
    2. 객체 지향 입문
    3. 클래스로 객체 만들기
    4. 객체는 동작을 공유하지만 상태는 공유하지 않습니다
    5. CountFromBy로 더 다양한 작업 수행하기
    6. 메서드 호출: 세부 동작 이해
    7. 클래스에 메서드 추가하기
    8. ‘self’의 중요성
    9. 영역 극복하기
    10. 속성 이름 앞에 ‘self’를 붙이세요
    11. 사용하기 전에 속성값 초기화하기
    12. 던더 ‘init’은 속성값을 초기화합니다
    13. 던더 ‘init’으로 속성값 초기화하기
    14. CountFromBy의 표현 결과 이해하기
    15. CountFromBy의 출력 결과 정의하기
    16. CountFromBy에 실용적인 기본값 기능 추가하기
    17. 클래스: 지금까지 배운 내용
    18. 8장의 코드
  11. 9장 컨텍스트 관리 프로토콜
    1. 웹앱 데이터베이스 코드를 제대로 공유하는 방법?
    2. 메서드로 컨텍스트 관리하기
    3. 컨텍스트 관리자가 어떻게 동작하는지는 이미 살펴봤어요
    4. 새 컨텍스트 관리자 클래스 만들기
    5. 데이터베이스 설정으로 클래스 초기화하기
    6. 던더 ‘enter’로 설정 작업하기
    7. 던더 ‘exit’로 마무리 수행하기
    8. 우리 웹앱 코드 다시 확인하기, 1/2
    9. ‘log_request’ 함수 다시 확인하기
    10. ‘log_request’ 함수 고치기
    11. ‘view_the_log’ 함수 다시 확인하기
    12. 코드만 바뀐 것이 아니에요
    13. ‘view_the_log’ 함수 고치기
    14. 데이터 질문에 답하기
    15. 9장의 코드, 1/2
  12. 10장 함수 장식자
    1. 컴퓨터가 아니라 웹 서버가 우리 코드를 실행합니다
    2. 플라스크의 세션 기술로 상태 추가하기
    3. 딕셔너리를 검색해 저장된 상태 가져오기
    4. 세션으로 로그인 관리하기
    5. 로그아웃과 상태 확인 기능 구현하기 (1/2)
    6. 로그아웃과 상태 확인 기능 구현하기 (2/2)
    7. 함수를 함수로 전달하기
    8. 전달받은 함수 호출하기
    9. 인자 리스트 받기
    10. 인자 리스트 처리하기
    11. 딕셔너리 인자 받기
    12. 딕셔너리 인자 처리하기
    13. 임의 개수로 이루어진 다양한 유형의 함수 인자 받기
    14. 함수 장식자 만들기
    15. 마지막 단계: 인자 처리
    16. 장식자를 이용하세요
    17. /viewlog 접근 제한 문제로 돌아와서
    18. 10장의 코드, 1/2
  13. 11장 예외 처리
    1. 데이터베이스의 가용 상태는 언제든 달라질 수 있어요
    2. 웹 공격은 정말 괴로운 일이에요
    3. 때로는 입출력이 오래 걸릴 수 있어요
    4. 함수 호출이 실패로 끝날 수 있습니다
    5. 에러가 쉽게 발생할 수 있는 코드는 항상 실행해보세요
    6. try 한 개에 여러 번의 except
    7. 모든 예외를 잡아 처리하는 핸들러
    8. ‘sys’로 예외 정보 얻기
    9. 모든 예외를 잡아 처리하는 핸들러, 다시 확인하기
    10. 우리 웹앱 코드로 돌아와서
    11. 예외를 조용히 처리하세요 (1/2)
    12. 예외를 조용히 처리하세요 (2/2)
    13. 다른 데이터베이스 에러 처리하기
    14. 강하게 결합된 코드는 피하세요
    15. DBcm 모듈, 다시 보기
    16. 커스텀 예외 만들기
    17. ‘DBcm’에 또 어떤 문제가 생길 수 있나요?
    18. SQLError 처리 방법은 달라요
    19. SQLError 일으키기
    20. 간단 복습: 탄탄함 추가하기
    21. 기다림을 어떻게 처리해야 할까요? 그때그때 달라요...
    22. 11장의 코드, 1/3
  14. 11¾장 스레드 맛보기
    1. 기다림: 무엇을 해야 하나요?
    2. 데이터베이스에 어떤 질의를 사용하나요?
    3. 데이터베이스 INSERT와 SELECT는 다릅니다
    4. 한 번에 한 가지 이상의 일 처리하기
    5. 스레드로 난관을 극복하세요
    6. 패닉에 빠지지 말고 순서대로 확인하세요
    7. 당황하지 말고 플라스크의 지원을 받으세요
    8. 이제 우리 웹앱은 탄탄한가요?
    9. 11¾장의 코드, 1/2
  15. 12장 고급 반복
    1. CSV 데이터를 리스트로 읽기
    2. CSV 데이터를 딕셔너리로 읽기
    3. 가공하지 않은 데이터에서 공백을 제거한 다음 나누세요
    4. 메서드 체인 호출 시 주의하세요
    5. 원하는 형식으로 데이터 변환하기
    6. 리스트의 딕셔너리로 변환하기
    7. 리스트 관련 패턴 찾기
    8. 패턴을 컴프리헨션으로 바꾸기
    9. 컴프리헨션 자세히 들여다보기
    10. 딕셔너리 컴프리헨션 만들기
    11. 필터로 컴프리헨션 확장하기
    12. 파이썬 방식으로 복잡한 문제 처리하기 (1/2)
    13. 파이썬 방식으로 복잡한 문제 처리하기 (2/2)
    14. 집합 컴프리헨션 사용
    15. ‘튜플 컴프리헨션’은 어디에?
    16. 괄호로 감싼 코드 == 생성기
    17. 리스트컴프로 URL 처리하기
    18. 생성기로 URL 처리하기
    19. 함수에 필요한 기능을 정의하세요
    20. 생성기 함수의 능력에 양보하세요
    21. 생성기 함수 추적하기, 1/2
    22. 마지막 질문
    23. 12장의 코드
    24. 떠날 시간이에요...
  16. 부록 a: 설치
    1. 윈도우에 파이썬 3 설치하기
    2. 윈도우에서 파이썬 3 확인하기
    3. 윈도우용 파이썬 3에 추가하기
    4. 맥 OS X(macOS)에 파이썬 3 설치하기
    5. 맥 OS X에서 파이썬 3 확인하고 설정하기
    6. 리눅스에 파이썬 3 설치하기
  17. 부록 b: 파이썬애니웨어
    1. 0단계: 약간의 준비
    2. 1단계: 파이썬애니웨어에 가입
    3. 2단계: 파일을 클라우드로 올리기
    4. 3단계: 코드를 추출하고 설치하기
    5. 4단계: 스타터 웹앱 만들기, 1/2
    6. 5단계: 웹앱 설정하기
    7. 6단계: 클라우드 기반 웹앱을 실행하세요!
  18. 부록 c: 우리가 다루지 않은 열 가지 인기 항목
    1. 1. 파이썬 2는 어쩌죠?
    2. 2. 가상 프로그래밍 환경
    3. 3. 객체 지향과 관련한 내용
    4. 4. 문자열 포맷 등
    5. 5. 정렬하기
    6. 6. 표준 라이브러리의 기능
    7. 7. 코드를 병렬로 실행하기
    8. 8. Tkinter를 이용한 GUI 그리고 Turtle의 묘미
    9. 9. ‘시험에 통과할 때’까지는 끝난 게 아니에요
    10. 10. 디버그, 디버그, 디버그
  19. 부록 d: 우리가 다루지 않은 열 가지 인기 프로젝트
    1. 1. >>>의 대안
    2. 2. IDLE의 대안
    3. 3. 주피터 노트북: 웹 기반 IDE
    4. 4. 데이터 과학 수행하기
    5. 5. 웹 개발 기술
    6. 6. 웹 데이터 작업
    7. 7. 다양한 데이터 소스
    8. 8. 프로그래밍 도구
    9. 9. Kivy: ‘가장 멋진 프로젝트’로 선정
    10. 10. 대안 구현
  20. 부록 e: 참여하기
    1. BDFL: 자비로운 종신 독재자
    2. 관대한 커뮤니티: 다양성의 존중
    3. 파이썬 팟캐스트
    4. 파이썬의 선
    5. 이제 무슨 책을 읽어야 하죠?
    6. 우리가 좋아하는 파이썬 책
  21. 찾아보기 (1/3)
  22. 찾아보기 (2/3)
  23. 찾아보기 (3/3)

Product information

  • Title: Head First Python, 개정판 : 스스로 질문하며 답을 찾는 파이썬 학습서(Python 3)
  • Author(s): 우정은, 폴 배리
  • Release date: December 2017
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162240281