파이썬 프로그래밍 입문은 교과서로!
수만 명의 학생들이 검증한 강의로 입문하자
캐나다 토론토 대학교와 코세라에서 Learn to Program을 통해 이미 수만 명의 학생과 독자가 이 책으로 학습했다. 직접 학생들을 가르치고, 학생들이 어려움이 무엇인지 이해하는 강사가 쓴 제대로 된 입문서로 학습하자.
스텝과 미스스텝으로 배우는 예제
프로그래밍 경험이 없어도 쉽게 시작할 수 있는 간단한 예제로 시작한다. 스텝을 밟으며 점진적으로 발전하는 예제와 미스스텝으로 발생하는 오류를 직접 해결하는 예제를 접하며 기초를 터득한다.
프로그래밍에 대한 체계적인 사고법 터득
실생활에서 접할 수 있는 문제를 컴퓨터 과학자는 어떻게 접근하는지 보여준다. 복잡한 문제를 간단한 문제로 분해하고, 각 문제를 해결하는 방법을 찾아내는 방법, 이러한 방법을 결합해 복잡한 문제를 해결하는 애플리케이션을 작성하는 방법을 학습한다.
[예제 코드]
https://github.com/gilbutITbook/007016
0장 서문
__0.1 이 책의 구성
__0.2 참고 도서
__0.3 이 책의 내용
__0.4 온라인 자원
1장 프로그래밍이란?
__1.1 프로그램, 그리고 프로그래밍
__1.2 프로그래밍 언어란?
__1.3 버그란?
__1.4 대괄호, 중괄호, 괄호 간 차이
__1.5 파이썬 설치
__1.5.4 마이크로소프트 윈도에 설치하는 법
2장 안녕, 파이썬?
__2.1 컴퓨터는 어떻게 파이썬 프로그램을 실행할까요?
__2.2 표현식과 값: 파이썬 산술 연산
__2.3 타입이란 무엇일까요?
__2.4 변수와 컴퓨터 메모리: 값 저장
__2.5 파이썬은 오류를 어떻게 알려줄까요?
__2.6 여러 줄로 이뤄진 하나의 명령문
__2.7 코드 설명
__2.8 읽기 쉬운 코드 만들기
__2.9 2장에서 다룬 내용
__2.10 연습문제
3장 함수 디자인과 사용
__3.1 파이썬이 제공하는 함수
__3.2 메모리 주소: 파이썬은 값을 어떻게 관리할까?
__3.3 사용자 정의 함수
__3.4 임시 저장 공간으로 지역 변수 사용
__3.5 메모리 모델로 함수 호출 추적
__3.6 새로운 함수 디자인: 방법
__3.7 프로그램 작성과 실행
__3.8 return 문 생략: None
__3.9 코드가 다루지 않는 상황 처리
__3.10 3장에서 배운 내용
__3.11 연습문제
4장 텍스트 처리
__4.1 문자들로 문자열 생성
__4.2 문자열 내 특수 문자
__4.3 다행 문자열 생성
__4.4 정보 출력
__4.5 키보드로 정보 받기
__4.6 문자열 요약
__4.7 연습문제
5장 선택
__5.1 불 타입
__5.2 실행할 명령문 선택
__5.3 중첩 if 문
__5.4 불 표현식 평가 결과 저장
__5.5 5장에서 배운 내용
__5.6 연습문제
6장 모듈화 방식으로 프로그램 구성
__6.1 모듈 임포트
__6.2 사용자 정의 모듈
__6.3 반자동식 코드 테스트
__6.4 함수 그루핑 비법
__6.5 개념 정리
__6.6 연습문제
7장 메서드
__7.1 모듈과 클래스, 메서드
__7.2 객체 지향 방식으로 메서드 호출
__7.3 문자열 메서드
__7.4 밑줄의 쓰임새
__7.5 체계적인 복습
__7.6 연습문제
8장 리스트로 데이터 컬렉션 저장
__8.1 리스트 내 데이터 저장과 접근
__8.2 리스트의 타입 표기
__8.3 리스트 수정
__8.4 리스트 연산
__8.5 리스트 슬라이싱
__8.6 에일리어싱: 이름에 무엇이 들어있나요?
__8.7 리스트 메서드
__8.8 리스트들의 리스트 다루기
__8.9 요약 목록
__8.10 연습문제
9장 루프로 코드 반복
__9.1 리스트 내 항목 처리
__9.2 문자열 내 문자 처리
__9.3 수 범위 순회
__9.4 인덱스로 리스트 처리
__9.5 루프 안에 중첩된 루프
__9.6 조건에 도달할 때까지 순회
__9.7 사용자 입력에 따른 반복
__9.8 break와 continue로 루프 제어
__9.9 복습
__9.10 연습문제
10장 파일 읽기와 쓰기
__10.1 파일 종류에는 어떤 것이 있을까요?
__10.2 파일 열기
__10.3 파일을 읽는 방법
__10.4 인터넷상의 파일
__10.5 파일 쓰기
__10.6 StringIO로 예제 호출 작성
__10.7 파일 읽기 방법을 사용하는 알고리즘 작성
__10.8 다수 행 레코드
__10.9 미리보기
__10.10 내용 정리
__10.11 연습문제
11장 그 밖에 컬렉션 타입으로 데이터 저장
__11.1 세트로 데이터 저장
__11.2 튜플로 데이터 저장
__11.3 딕셔너리로 데이터 저장
__11.4 딕셔너리 도치
__11.5 튜플과 세트, 딕셔너리에 in 연산자 사용하기
__11.6 컬렉션 비교
__11.7 새로운 타입 표기 생성
__11.8 새로 알게 된 정보
__11.9 연습문제
12장 알고리즘 디자인
__12.1 가장 작은 두 값 찾기
__12.2 함수 시간 측정
__12.3 최소한 이 정도는 배웠죠
__12.4 연습문제
13장 검색과 정렬
__13.1 리스트 검색
__13.2 이진 검색
__13.3 정렬
__13.4 더 효율적인 정렬 알고리즘
__13.5 병합 정렬: 더 빠른 정렬 알고리즘
__13.6 13장에서 배운 내용
__13.7 연습문제
14장 객체 지향 프로그래밍
__14.1 문제 도메인 이해하기
__14.2 isinstance 함수, 클래스 객체, Book 클래스
__14.3 Book 클래스에 메서드 작성하기
__14.4 파이썬 문법과 연결: 또 다른 스페셜 메서드
__14.5 객체 지향 이론 맛보기
__14.6 사례 연구: 분자와 원자, PDB 파일
__14.7 14장에서 배운 내용
__14.8 연습문제
15장 테스트와 디버깅
__15.1 테스트가 필요한 이유
__15.2 사례 연구: above_freezing 테스트
__15.3 사례 연구: running_sum 테스트
__15.4 테스트 케이스 고르기
__15.5 버그 사냥
__15.6 귀띔한 내용
__15.7 연습문제
16장 그래픽 사용자 인터페이스 생성
__16.1 tkinter 모듈 사용하기
__16.2 기초 GUI 개발
__16.3 모델과 뷰, 컨트롤러, 이런!
__16.4 시각 스타일 맞춤화
__16.5 그 밖에 위젯 소개
__16.6 객체 지향 GUI
__16.7 지금까지 배운 개념으로 GUI를 도배하지 말자
__16.8 연습문제
17장 데이터베이스
__17.1 개요
__17.2 생성과 삽입
__17.3 데이터 추출
__17.4 업데이트와 삭제
__17.5 누락된 데이터에 NULL 사용하기
__17.6 조인으로 테이블 합치기
__17.7 키와 제약
__17.8 고급 기능
__17.9 배운 내용 정리
__17.10 연습문제
ㆍ지은이 제니퍼캠벨
ㆍ지은이 제이슨만토요
ㆍ지은이 폴그라이즈
ㆍ옮긴이 심지현
독자의견 남기기