서브메뉴
검색
본문
Powered by NAVER OpenAPI
-
헬로! 파이썬 프로그래밍 (쉽고 재미있게 프로그래밍 배우기)
저자 : 워렌 산데|카터 산데
출판사 : 위키북스
출판년 : 2015
정가 : 27000, 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장: 연습 문제 해답