헬로! 파이썬 프로그래밍
도서명:헬로! 파이썬 프로그래밍
저자/출판사:워렌,산데,카터,산데/위키북스
쪽수:544쪽
출판일:2015-09-04
ISBN:9791158390112
목차
▣ 01장: 시작하기
파이썬 설치
IDLE을 이용해 파이썬 시작하기
명령을 내려 주세요
프로그램이 동작하지 않는다면
파이썬과의 상호작용
프로그래밍할 시간
첫 번째 프로그램 실행하기
뭔가가 잘못됐다면
- 구문 오류
- 런타임 오류
두 번째 프로그램
▣ 02장: 기억하세요 - 메모리와 변수
입력, 처리, 출력
이름
이름 안에는 뭐가 들었을까?
숫자와 문자열
- 긴 문자열
왜 ‘변수’인가?
새로운 나
▣ 03장: 기초 수학
4가지 기초 연산
연산자
연산의 순서
연산자 두 개 더
- 지수 연산 - 제곱
- 나머지 연산 - 나머지 구하기
- 증가 연산자와 감소 연산자
정말로 큰 수와 정말로 작은 수
- E-표기법
- 지수승 vs. E-표기법
▣ 04장: 자료형
자료형 바꾸기
- 정수를 실수로 바꾸기
- 실수를 정수로 바꾸기
- 문자열을 실수로 바꾸기
정보를 더 얻는 방법: type()
형변환 오류
형변환 이용하기
▣ 05장: 입력
raw_input()
print 명령어와 콤마
- 더 간편한 raw_input() 입력 요청 메시지
숫자 입력하기
- int()와 raw_input() 함께 쓰기
웹에서 입력받기
▣ 06장: GUI(그래픽 사용자 인터페이스)
GUI란?
첫 번째 GUI
- EasyGui 설치
- 파이썬 경로
- GUI 만들기
GUI 입력
좋아하는 맛 고르기
- 버튼이 여러 개인 대화상자
- 선택 상자
- 텍스트 입력
- 기본 입력
- 숫자 입력
숫자 알아맞히기 게임... 한번 더!
기타 GUI 요소
▣ 07장: 판단과 결정
테스트
들여쓰기
내 눈엔 두 개로 보이는데?
다른 종류의 검사
검사 결과가 거짓이면 어떻게 될까?
조건을 2개 이상 검사하기
and 사용하기
or 사용하기
not 사용하기
▣ 08장: 반복문
계수 반복
- 폭주하는 반복문
- 대괄호의 용도
계수 반복문 사용하기
손쉬운 방법 - range()
스타일의 문제 - 반복 변수명
- 더 쓰기 쉬운 range()
간격을 두고 세기
숫자 없이 세기
조건을 만족하는 동****
반복문에서 벗어나기 - break와 continue
- 앞으로 건너뛰기 - continue
- 빠져 나오기 - break
▣ 09장: 주석
주석 추가하기
한 줄 주석
줄 끝 주석
여러 줄 주석
삼중 따옴표 문자열
주석 스타일
이 책의 주석
주석 처리
▣ 10장: 게임할 시간
스키어
▣ 11장: 중첩 반복문과 가변 반복문
중첩 반복문
가변 반복문
가변 중첩 반복문
훨씬 더 가변적인 중첩 반복문
중첩 반복문 사용하기
열량 계산하기
▣ 12장: 함께 모으기 - 리스트와 딕셔너리
리스트란?
리스트 만들기
리스트에 항목 추가하기
점은 뭘까?
리스트는 무엇이든 담을 수 있다
- 인덱스는 왜 1이 아닌 0부터 시작할까?
리스트 “자르기”
- 간편한 잘라내기
항목 수정하기
리스트에 항목을 추가하는 다른 방법
- 끝에 추가하기: append()
- 리스트 확장하기: extend()
- 항목 삽입하기: insert()
- append()와 extend()의 차이점
리스트에서 삭제하기
- remove()를 이용한 삭제
- del을 이용한 삭제
- pop()을 이용한 삭제
리스트에서 찾기
- in 키워드
- 인덱스 찾기
리스트 순회하기
리스트 정렬하기
- 역순으로 정렬하기
- 정렬하는 또 다른 방법: sorted()
변경 가능한 것과 변경 불가능한 것
- 튜플: 불변 리스트
리스트의 리스트: 데이터 테이블
- 테이블에서 값 하나 가져오기
딕셔너리
▣ 13장: 함수
함수: 집짓기 블록
- 함수 만들기
함수 호출하기
함수에 인자 전달하기
인자가 두 개 이상인 함수
- 몇 개가 적당할까?
값을 반환하는 함수
- 값 반환하기
변수 유효범위
- 지역 변수
- 전역 변수
함수 안에서 전역 변수 사용하기
변수명 짓기에 대한 조언
▣ 14장: 함수
현실 세계의 객체
파이썬의 객체
- 속성이란?
- 메서드란?
객체 = 속성 + 메서드
점은 무엇입니까?
객체 만들기
- 객체의 인스턴스 만들기
- 객체 초기화
- “마법” 메서드: __str__()
- self란?
예제 클래스 - HotDog
데이터 숨기기
다형성과 상속
- 다형성: 동일한 메서드, 다른 동작 방식
- 상속: 부모로부터 배우기
미리 생각해보기
▣ 15장: 모듈
모듈이란?
왜 모듈을 사용할까?
블록을 담는 통
모듈은 어떻게 만들까?
모듈은 어떻게 사용할까?
이름공간
- 이름공간이란?
- 이름공간 가져오기
- from을 이용한 가져오기
- 휴!
표준 모듈
시간
난수
▣ 16장: 그래픽
도움 얻기 - 파이게임
파이게임 창
창 안에 그리기
- ‘플립’이란?
- 원을 만드는 법
- 파이게임 표면
- 파이게임에서 색상 다루기
- 위치: 화면 좌표
- 도형의 크기
- 선 두께
- 현대 미술?
개별 픽셀
- 점 잇기
- 다시 한 번 점 잇기
- 점으로 그리기
이미지
공을 움직여 봅시다!
애니메이션
- 이미지 지우기
- 밑에는 뭐가 있을까?
더 부드러운 애니메이션
- 공이 계속 움직이게 하기
공 튕기기
- 2D로 튕기기
공이 돌아서 나오게 만들기
▣ 17장: 스프라이트와 충돌 감지
스프라이트
- 스프라이트란?
- 스프라이트 클래스
- move() 메서드
쿵! 충돌 감지
- 사각 영역 충돌 vs. 픽셀 단위 충돌
시간 재기
- pygame.time.Clock()을 이용한 프레임률 조절
- 프레임률 검사하기
프레임률 조절하기
▣ 18장: 새로운 종류의 입력 - 이벤트
이벤트
- 이벤트 루프
- 이벤트 큐
- 이벤트 처리자
키보드 이벤트
- 키 이벤트
- 반복 키
- 이벤트 이름과 키 이름
마우스 이벤트
타이머 이벤트
다른 게임을 해볼 시간: 파이퐁(PyPong)
- 공
- 패들
- 패들 조종
- 점수 기록 및 pygame.font를 이용한 점수 표시
- 생명 관리하기
- 생명 카운터 추가하기
- 게임 종료
▣ 19장: 사운드
파이게임 활용하기 - mixer
사운드 만들기 vs. 사운드 재생하기
사운드 재생
- pygame.mixer 시작하기
볼륨 조절
- 배경음악 재생하기
음악 반복하기
파이퐁에 사운드 추가하기
더 익살스러운 사운드
파이퐁에 음악 추가하기
▣ 20장: GUI 더 알아보기
PyQt 활용하기
- Qt 디자이너
- 버튼 추가하기
- 버튼 변경하기
- GUI 저장하기
GUI 작동시키기
이벤트 처리자의 귀환
- self란?
버튼 움직이기
더 유용한 GUI
TempGUI
- TempGUI 컴포넌트
- 새 GUI 만들기
- 섭씨를 화씨로 변환하기
- 화씨를 섭씨로 변환하기
- 작은 개선
- 버그 때려잡기
메뉴에 뭐가 있죠?
- 메뉴 항목 추가하기
- 단축키
▣ 21장: 출력 서식 지정과 문자열
새로운 줄
- print와 콤마
- 줄바꿈 추가하기
- 특별한 출력 코드
수평 간격: 탭
- 백슬래시를 출력하는 법
문자열에 변수 넣기
숫자 서식 지정
- 정수: %d나 %i
수: %f나 %F
- E-표기법: %e와 %E
- 실수 표기법이나 E-표기법 자동으로 선택하기: %g와 %G
- 퍼센트 기호 출력하기
- 여러 개의 서식 문자열
- 서식 지정된 숫자 저장하기
새로운 방식의 서식 지정
- format() 메서드
- 문자열 조작
- 문자열 분리하기
- 문자열 합치기
- 문자열 검색
- 문자열 내 아무 곳에서나 찾기: in과 index()
- 문자열에서 일부분 삭제하기
- 대소문자 바꾸기
▣ 22장: 파일 입출력
파일이란?
파일명
파일의 위치
- 현재 위치 찾기
- 경로 이야기는 이제 그만!
파일 열기
파일 읽기
- 한 번에 한 줄씩 읽기
- 처음으로 되돌아가기
텍스트 파일과 바이너리 파일
파일에 쓰기
- 파일에 추가하기
- 파일에 쓰기
- print를 이용해 파일에 쓰기
파일에 저장하기: pickle
피클링
- 언피클링
다시 게임 할 시간: 행맨
- 행맨 GUI
- 단어 목록에서 단어 가져오기
- 사람 보여주기
- 글자 추측 검사하기
▣ 23장: 기회를 잡아라 - 무작위성
무작위성이란?
주사위 굴리기
- 여러 개의 주사위
- 10번 연속된 사건
카드 패 만들기
- 카드 패 섞기
- 카드 객체
크레이지 8
- 주 반복문
- 뒤집힌 카드
- 유효한 무늬
- 플레이어 차례
- 손에 든 카드 보여주기
- 플레이어의 선택 확인하기
- 컴퓨터 차례
- 점수 관리하기
▣ 24장: 컴퓨터 시뮬레이션
현실 세계 모델링하기
달 착륙선
- 착륙 시뮬레이션하기
- 파이게임의 귀환
시간 관리
시간 객체
- 두 시간의 차이
- 짧은 단위의 시간
시간을 파일에 저장하기
가상 애완동물
GUI
- 알고리즘
- 간단한 애니메이션
- 시도하고, 또 시도하기
▣ 25장: 스키어 설명
스키어
장애물
- 개별 장애물 만들기
- 장애물 지도 만들기
▣ 26장: 파이썬 전투
파이썬 전투
- 파이썬 전투 실행하기
- 게임 규칙
파이썬 전투 로봇 만들기
좀 더 복잡한 로봇
좌표계
- 방향
- calculateCoordinates()
▣ 27장: 또 뭘 배워야 할까?
초급 프로그래머를 위한 자료
파이썬
게임 프로그래밍과 파이게임
기타 게임 프로그래밍(파이썬 이외의 환경)
BASIC
모바일 앱
주위를 둘러보세요
▣ 부록 A장: 변수 명명규칙
▣ 부록 B장: print
파이썬 2와 파이썬 3의 차이점
input()
정수 나눗셈
range()
파이썬 2에서 파이썬 3으로 변환하기
▣ 부록 C장: 연습 문제 해답