책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
프로그래밍 입문자에게 적합한 책이다. 가장 인기 있고 배우기 쉬운 언어인 파이썬을 기초부터 차근차근 배우면서 프로그래밍의 기본과 원리를 학습한다. 단순히 프로그래밍 지식을 전달하는 데 그치는 것이 아니라 프로그래머로서 갖춰야 할 소양과 주의 사항, 저자의 30년 노하우 등을 전달해 입문자가 훌륭한 프로그래머로 성장할 수 있도록 돕는다.
이 책에서 다루는 내용
█ 최신 파이썬 프로그램을 만들기 위한 강력한 무료 툴 설치 및 사용
█ 170개의 샘플 프로그램을 통해 핵심 개념 학습 후 자신만의 프로그램을 만들기 위한 토대 제공
█ 프로그램 실행 시 발생하는 일
█ 전문가 관점에서 프로그램 개발 접근
█ 파이썬 언어의 핵심 항목 학습
█ 클래스, 메소드, 객체를 활용해 복잡한 소프트웨어 제작
█ 쉽게 만들고 개선할 수 있도록 프로그램 구조화
█ 사용자로부터의 입력 및 입력에 대한 반응
█ 다양한 종류의 실제 자료 저장 및 조작
█ 특정 문제를 해결하기 위한 맞춤 자료형 정의
█ 재미있는 인터랙티브 게임 개발
█ 최신 웹과 클라우드 기반 애플리케이션 제작
█ 미리 작성된 라이브러리를 활용해 강력한 소프트웨어를 빠르게 제작
소프트웨어 및 하드웨어
이 책에서 제공하는 프로그램을 다루기 위해서는 컴퓨터와 특정 소프트웨어가 필요하다. 여러분에게 컴퓨터를 제공할 수는 없을 것 같다. 대신 1장에서 파이썬 관련 툴과 비주얼 스튜디오 코드(Visual Studio Code)라는 애플리케이션을 다운로드하는 방법을 알려주겠다. 규모가 큰 애플리케이션을 작성할 때 이들을 활용할 것이다.
PC 혹은 랩톱 사용
이 책의 파이썬 프로그램을 작성하고 실행할 때 윈도우, 맥, 리눅스 운영체제를 사용할 수 있다. PC가 고성능일 필요는 없지만 다음과 같은 사양을 권장한다.
- 1 GHz 이상의 프로세서. 인텔 i5 이상
- 최소 4기가바이트(GB) 메모리(RAM), 8기가 이상
- 256GB 하드 디스크 공간(파이썬 및 비주얼 스튜디오 코드 설치는 약 1GB의 하드 디스크 공간을 차지함)
그래픽 디스플레이와 관련해서는 특정한 요구사항이 없다. 하지만 고해상도 화면을 사용하는 경우 프로그램 작성 시 더 많은 코드를 한눈에 볼 수 있다.
모바일 장치 사용
모바일 폰이나 태블릿에서 파이썬 프로그램을 작성하고 실행할 수 있다. iOS가 탑재된 애플 장치를 가지고 있다면 파이써니스타(Pythonista) 앱을 사용할 것을 권장한다. 안드로이드 장치를 사용하는 경우 파이오닉(Pyonic) 파이썬 3 인터프리터를 사용해볼 수 있다.
이 책의 구성
이 책은 총 3부로 구성된다. 각 부분은 여러분을 훌륭한 프로그래머로 만들기 위한 목표를 갖고 이전 부분에서 배운 내용을 활용한다. 책의 초반에는 저수준(low-level) 프로그래밍 명령어를 살펴본다. 프로그램은 이러한 명령어를 사용해 컴퓨터가 무엇을 수행해야 하는지 지시한다. 그리고 책의 후반부에서는 전문적인 소프트웨어 구성을 살펴본다.
1부. 프로그래밍 기초
1부는 프로그래밍을 시작하기 위한 내용을 다룬다. 코딩을 시작하기 위해 필요한 프로그래밍 툴을 설치하는 법과 사용하는 법에 대해 배우고, 파이썬 프로그래밍 언어의 기본 요소들에 대해 알아본다. 그리고 첫 프로그램을 작성하는 법을 살펴보고, 모든 프로그램의 기반이 되는 기초 코드 구성 요소들에 대해서도 배운다. 세상에는 수많은 프로그래밍 언어들이 존재한다. 이러한 프로그래밍 언어들이 가진 고유한 특성에 따라 여러 종류로 분류할 수 있는데, 파이썬이 이러한 프로그래밍 언어 중 어디에 가장 잘 어울리는지 알아본다. 이 점이 프로그래머에게 의미하는 바에 대해서도 살펴본다.
2부. 고급 프로그래밍
2부에서는 더 복잡한 애플리케이션을 만들고 조직화하기 위한 파이썬 프로그래밍 언어의 기능들을 알아본다. 대규모의 프로그램을 세분화하는 방법과, 특정 문제를 해결하기 위한 사용자 정의 자료형을 생성하는 법에 대해 알아본다. 또한 파이썬 애플리케이션을 설계하고 테스트하고 문서화하는 법도 알아본다.
3부. 유용한 파이썬
프로그램을 만드는 법을 익히고 나면,다른 사람들이 작성한 코드를 사용하는 법을 배울 수 있다. 파이썬의 중요한 장점 중, 하나는 파이썬 사용자가 사용할 수 있는 소프트웨어 라이브러리가 많다는 점이다.각자 자신의 프로그램을 만드는 법에 대해 학습하고 나면 다음 단계로 다른 사람들이 작성한 코드를 사용하는 법을 배울 수 있다. 파이썬의 중요한 장점 중 하나는 파이썬 사용자가 활용할 수 있는 소프트웨어 라이브러리가 많다는 점이다. 3부에서는 다양한 라이브러리에 대해 알아보고 그래픽 사용자 인터페이스를 지닌 애플리케이션을 만들기 위해 이런 라이브러리를 활용하는 방법을 배운다. 또한 네트워크 애플리케이션에서 파이썬 프로그램이 어떤 식으로 클라이언트와 서버 역할을 하는지, 마지막으로는 흥미로운 게임을 만드는 법도 알아본다.
3부는 PC에서 열어볼 수 있는 다운로드 가능한 문서로 제공된다. 데모 프로그램을 테스트해보고 나만의 애플리케이션을 만들어보자. 3부 PDF 파일은 다음 경로에서 다운로드할 수 있다.
https://www.microsoftpressstore.com/store/begin-to-code-with-python-9781509304523
상세 이미지
목차
목차
- Part 1: 프로그래밍 기초
- 1장. 파이썬 시작
- 파이썬이란?
- 파이썬의 기원
- 파이썬 버전
- 파이썬 개발 환경 구성
- 툴 위치
- 윈도우 PC용 파이썬
- 파이썬 시작
- 요약
- 파이썬이란?
- 2장. 파이썬과 프로그래밍
- 프로그래머의 역할
- 프로그래밍과 파티 계획하기
- 프로그래밍과 문제 해결
- 프로그래머와 사람
- 자료 처리기 역할을 하는 컴퓨터
- 기계와 컴퓨터, 우리
- 자료 처리기 역할을 하는 프로그램
- 자료 처리기 역할을 하는 파이썬
- 자료와 정보
- 파이썬 함수 다루기
- ord 함수
- chr 함수
- bin을 사용해 자료 저장소 살펴보기
- 요약
- 프로그래머의 역할
- 3장. 파이썬 프로그램 구조
- 첫 번째 파이썬 프로그램 작성하기
- IDLE를 사용해 파이썬 프로그램 실행하기
- print 함수를 사용한 프로그램 출연
- 파이썬 라이브러리 활용하기
- random 라이브러리
- time 라이브러리
- 파이썬 주석
- 코드 샘플과 주석
- 데스크탑에서 파이썬 실행하기
- 프로그램 종료 지연하기
- 스냅스 추가하기
- 파이게임 라이브러리 추가하기
- 스냅스 함수
- 요약
- 첫 번째 파이썬 프로그램 작성하기
- 4장. 변수 다루기
- 파이썬에서의 변수
- 파이썬에서의 이름 규칙
- 텍스트 다루기
- 문자열의 시작과 끝 지정하기
- 텍스트에서의 이스케이프 문자
- input 함수를 사용해 텍스트 입력하기
- 숫자 처리하기
- 문자열을 정수 값으로 변환하기
- 정수와 실수
- (소)실수와 부동소수점 수
- 문자열을 부동 소수점 값으로 변환하기
- 계산 수행하기
- float와 int 간의 변환
- 날씨 스냅스
- 요약
- 파이썬에서의 변수
- 5장. 프로그램에서 결정 내리기
- 불리언 자료
- 불리언 변수 생성하기
- 불리언 표현식
- 값 비교하기
- 불리언 연산자
- if 문
- 중첩 if문
- 논리 처리
- 애플리케이션 작성 시 결정문 활용하기
- 사용자 인터페이스 설계
- 사용자 인터페이스 구현하기
- 사용자 입력 테스트
- 프로그램 완성하기
- 입력 스냅스
- 요약
- 불리언 자료
- 6장. 루프를 통한 동작 반복
- while 구조
- while을 사용해 일련의 문장 반복하기
- 유효하지 않은 사용자 입력 처리하기
- 예외를 사용해 유효하지 않은 값 감지하기
- 예외와 숫자 읽기
- 다수의 예외 처리하기
- 루프 빠져나오기
- continue를 사용해 루프의 처음으로 돌아가기
- 반복 루프 세기
- for 루프 구조
- 스냅스를 사용해 디지털 시계 만들기
- 요약
- while 구조
- 7장. 함수를 사용한 프로그램 단순화
- 함수란 무엇인가?
- 매개변수를 사용해 함수에 정보 전달하기
- 함수 호출로부터 값 반환하기
- 재사용 가능한 함수 만들기
- 텍스트 입력 함수 만들기
- 함수에 도움말 정보 추가하기
- 숫자 입력 함수 만들기
- 함수를 파이썬 모듈로 변환하기
- IDLE 디버거 사용하기
- 요약
- 함수란 무엇인가?
- 8장. 자료 모음 저장하기
- 리스트와 매출 추적
- 개별적인 변수 사용 시 한계점
- 파이썬 리스트
- 리스트 입력 받기
- for 루프를 사용해 리스트 표시하기
- 프로그램을 함수로 리팩토링하기
- 플레이스홀더 함수 생성하기
- 사용자 메뉴 생성하기
- 거품 정렬을 사용해 정렬하기
- 리스트를 테스트 자료로 초기화하기
- 리스트를 내림차순으로 정렬하기
- 리스트를 오름차순으로 정렬하기
- 가장 큰 매출과 가장 작은 매출 찾기
- 매출 총합과 평균 계산하기
- (소)프로그램 완성하기
- 파일에 자료 저장하기
- 파일에 저장하기
- 매출 수치 파일에 기록하기
- 파일로부터 읽기
- 매출 수치 읽기
- 파일 오류 처리하기
- 자료를 표 형태로 저장하기
- 루프를 사용해 표 처리하기
- 리스트를 찾아보기 표로 사용하기
- 튜플
- 요약
- 리스트와 매출 추적
- Part 2: 고급 프로그래밍
- 9장. 클래스를 사용한 자료 저장
- 간단한 연락처 앱 만들기
- 프로토타입 만들기
- 연락처 세부정보를 별도 리스트에 저장하기
- 클래스를 사용해 연락처 세부 정보 저장하기
- 간단한 연락처 프로그램에서 Contact 클래스 사용하기
- 연락처 편집하기
- 피클을 사용해 파일에 연락처 저장하기
- 피클을 사용해 파일로부터 연락처 불러오기
- 간단한 연락처 프로그램에 save와 load 추가하기
- 클래스 인스턴스 설정하기
- 딕셔너리
- 딕셔너리 관리
- 함수로부터 딕셔너리 반환하기
- 딕셔너리를 사용해 연락처 저장하기
- 요약
- 간단한 연락처 앱 만들기
- 10장. 클래스를 사용한 활성 객체 생성
- 시간 관리 프로그램 만들기
- 클래스에 자료 속성 추가하기
- 잘 정리된 객체 생성하기
- 클래스의 메소드 속성 생성하기
- 메소드에 검증 기능 추가하기
- 자료 속성을 손상으로부터 보호하기
- 보호 메소드
- 클래스 속성 만들기
- 클래스 설계 개선하기
- 클래스 버전 관리하기
- 클래스의 str 메소드
- 파이썬 문자열 서식화
- 시간 관리 애플리케이션에서 근무 관리하기
- 파이썬 map 함수
- 파이썬 join 메소드
- 스냅스를 활용해 음악 재생하기
- 요약
- 시간 관리 프로그램 만들기
- 11장. 객체 기반 해결책 설계
- 의류 판매점 애플리케이션
- 애플리케이션 자료 설계
- 객체지향 설계
- 상위클래스와 하위클래스 만들기
- 자료 설계 요약
- 애플리케이션 동작 구현하기
- 구성요소 역할을 하는 객체
- 의류 판매점 구성요소 생성하기
- 사용자 인터페이스 구성요소 생성하기
- 클래스를 활용한 설계
- 파이썬 집합
- 집합과 태그
- 집합과 클래스 계층 구조 간의 비교
- 요약
- 의류 판매점 애플리케이션
- 12장. 파이썬 애플리케이션
- 고급 함수
- 함수에 대한 참조
- 람다 표현식 사용하기
- 반복자 함수와 yield문
- 임의의 인자 개수를 지닌 함수
- 모듈과 패키지
- 파이썬 모듈
- BTCInput에 readme 함수 추가하기
- 모듈을 프로그램으로서 실행하기
- 모듈이 프로그램으로서 실행된 것인지 파악하기
- 파이썬 패키지 만들기
- 패키지로부터 모듈 임포트하기
- 프로그램 테스트
- 파이썬 assert문
- 파이썬 unittest 모듈
- 테스트 생성하기
- 프로그램 문서 기록 확인하기
- 요약
- 고급 함수
- Part. 3: 유용한 파이썬
- 다운로드 가능한 문서로 제공
도서 오류 신고
정오표
정오표
[p.94: 직접 해보기 마지막 행]
끝날 때가지
->
끝날 때까지
[p.95: 코드 샘플과 주석 코드 마지막 행]
[p.213: 그림 7-1 두번째 name 설명칸]
name
삭제
(함수 이름)
->
name
(함수 이름)
[p.263: 위에서 16행]
[p.283: 아래에서 8행]
write 함수는
->
write 메소드는
[p.288: 위에서 3행]
화이스페이스는
->
화이트스페이스는
[p.358: 위에서 2행]
가소
->
과소
[p.382: 두번째 문단 3~4행]
[p.393: 위에서 5행]
email 삭제
[p.399: 아래에서 9행]
{1:10}
->
{1:<10}
[p.399: 아래에서 6행]
{1:10}
->
{1:10.2f}
[p.428: 위에서 11행]
defstock
->
def stock
[p.508: 코드 아래 문단 1, 2, 4, 6행]
make
->
create