Top

파이썬 프로그래밍 개론 [기본 문법부터 객체지향 프로그래밍까지]

  • 원서명An Introduction to Programming Using Python (ISBN 9780134058221)
  • 지은이데이비드 슈나이더(David I. Schneider)
  • 옮긴이정사범
  • ISBN : 9788960779082
  • 35,000원
  • 2016년 11월 30일 펴냄
  • 페이퍼백 | 556쪽 | 210*270mm
  • 시리즈 : 프로그래밍 언어

책 소개

요약

파이썬을 처음 접하는 초보자를 대상으로 파이썬의 기본 문법(객체, 변수, 입/출력, 제어)과 함수 만들기, 데이터 처리하기, 객체지향 프로그램, GUI를 만드는 방법을 소개한다. 실제 예제와 데이터를 이용하여 파이썬을 실용적으로 사용하기 위한 방법을 배울 수 있다. 처음 프로그램을 배우는 초보자에게 파이썬은 가장 배우기 쉬운 언어로 이 책을 통하여 프로그램 개발의 기초를 배울 수 있고 중급단계로 나아가기 위한 기반을 다질 수 있을 것이다.

이 책에서 다루는 내용

■ 파이썬 프로그래밍 언어의 개요

■ 주요 객체, 변수 및 입출력

■ 프로그래밍 흐름 제어 구조

■ 파이썬 함수 작성

■ 데이터 처리

■ 객체지향 프로그래밍

■ 그래픽 유저 인터페이스 프로그램 작성

이 책의 특징

프로그래밍 프로젝트
2장 이후 각 장마다 프로그래밍 프로젝트를 포함시켰다. 이러한 프로그래밍 프로젝트는 컴퓨터가 사용하는 여러 가지 방법을 포함하고 있다. 다양한 난이도와 많은 프로그래밍 프로젝트를 통해 학생들의 관심도와 능력에 맞게 조정할 수 있도록 하였다. 이 책 후반부에 있는 몇 개의 프로그래밍 프로젝트는 학기말 프로젝트로 배정할 수 있다.

섹션에 대한 연습
프로그래밍을 가르치는 각 섹션은 연습 세트를 포함하고 있다. 연습은 해당 섹션의 주요 아이디어를 이해할 수 있도록 하거나 학생들이 실제 응용해볼 수 있도록 하였다. 대부분의 연습 세트는 학생들이 프로그램을 추적하고, 오류를 찾아내며, 프로그램을 작성할 수 있도록 구성하였다. 이 책의 모든 홀수 번호 연습에 대한 답은 책의 끝부분에 있다. 다만, 섹션 6.3 거북 그래픽의 경우, 홀수 번호 연습을 하나씩 생략하여 답을 제공하였으며, 8장의 GUI는 제외하였다.
학생용 솔루션 매뉴얼에는 이 책의 모든 홀수 번호 연습에 대한 답을 수록했으며, 모든 프로그래밍 연습과 프로그래밍 프로젝트에 대한 결과를 제공하였다.

연습문제
연습문제는 연습 세트 직전 섹션 끝부분에 위치하고 있으며, 해답은 연습 세트 다음에 제공하였다. 연습문제는 학생들이 문제 해결을 통해 학습 내용을 좀 더 잘 이해할 수 있는 내용에 초점을 맞추었다. 독자 여러분은 연습문제로 이동하기 전에 연습을 신중히 풀어보기 바란다.

주석
신규 주제에 대한 확장 및 상세 내용은 각 섹션의 끝부분에 ‘주석’으로 언급하여 설명의 흐름을 방해하지 않도록 하였다.

주요 용어와 개념
2장부터 8장까지의 주요 용어와 개념은 해당 장의 끝부분에 예제와 함께 요약하였다.

응용 주제에 대한 가이드
이 섹션에서는 사업, 경제, 수학, 스포츠 등과 같이 다양한 주제를 다루는 프로그램의 인덱스를 제공한다.

비디오 노트
비디오 노트는 주요 프로그래밍 개념과 기술을 가르치기 위해 설계된 Pearson의 비주얼 도구다. 비디오 노트 아이콘은 이 책의 본문 내용 여백 부분에 위치시켜 독자 여러분이 비디오에서 설명한 내용을 파악할 수 있도록 하였다. 또한 책 전반에 걸쳐 여러 비디오 내용을 요약한 비디오 노트 가이드도 포함하였다.

솔루션 매뉴얼
학생용 솔루션 매뉴얼에는 모든 홀수 번호 연습에 대한 답이 포함되어 있고(프로그래밍 프로젝트는 미포함), 강사 솔루션 매뉴얼에는 모든 연습과 프로그래밍 프로젝트에 대한 답이 포함되어 있다.

소스 코드와 데이터 파일
모든 예제와 연습에 필요한 데이터 파일의 프로그램은 출판사의 웹사이트에서 다운로드할 수 있다.

저자/역자 소개

지은이의 말

파이썬은 1990년대에 도입된 이후 소프트웨어 산업에서 가장 널리 사용되는 프로그래밍 언어 중 하나이자, 프로그래밍 언어를 배우는 학생들이 가장 먼저 선택하는 언어이기도 하다. 그뿐만 아니라 컴퓨터 프로그램 개발을 이해하는 데 있어 가장 이상적인 툴로 인식되고 있다. 내가 이 책을 쓰게 된 목적은 다음과 같다.

  1. 깊이 있는 내용을 다루기 위해
    많은 주제를 피상적으로 다루기보다 중요한 내용에 집중하고 좀 더 상세하게 설명하였다.
  2. 예제 외의 연습을 통해 학생들이 배운 것을 연관시키고, 제대로 알고, 쉽게 이해할 수 있도록 하기 위해
    여러 가지 예제에서는 가급적 불필요한 내용을 삭제하여 학생들이 프로그래밍을 쉽게 이해할 수 있도록 하였다.
  3. 학생들이 읽기 쉽고 유용한 정보를 얻을 수 있는 간결한 책을 만들기 위해
    각 주제의 주요 요점을 먼저 설명한 후, 상세한 내용을 주석으로 제공하였다.
  4. 최신 프로그래밍 방법을 이용하여 프로그래밍을 가르치기 위해
    문제 해결 기술, 구조적 프로그래밍, 객체 지향 프로그래밍을 상세히 설명하였다.
  5. 컴퓨터 주요 응용 분야에 대한 통찰을 제공하기 위해
지은이 소개

데이비드 슈나이더(David I. Schneider)

32년간 메릴랜드 대학에서 교편을 잡고 있으며, 지난 81년 동안 28권의 서적을 출간하였다.
그는 Prentice Hall 출판사에서 비주얼 베이직을 포함한 몇몇 베스트셀러를 출간하기도 한 저자기도 하다.
그의 책이 베스트셀러인 이유는 확실히 믿을 수 있는 교육 경험과 결과로부터 생성된 개념에 해당하는 광범위한 예제와 어플리케이션을 학생 독자들이 좋아하기 때문이다. 그의 베스트셀러 비주얼 베이직은 성공적으로 수년간 읽혀져 왔고 학생과 강사로부터 끊임없는 찬사를 받았다.

옮긴이의 말

사람이 태어나서 가장 먼저 배우는 것은 무엇일까요? 저는 타인과 커뮤니케이션 하는 방법을 배우는 것이라고 생각합니다. 이러한 이유 때문에 “인간은 사회적 동물이다”라는 말이 생겨난 것이 아닌가 생각합니다. 커뮤니케이션 능력은 인간이 삶을 살아가는 데 있어 매우 중요합니다. 따라서 우리는 태어나서 죽을 때까지 수많은 시간을 커뮤니케이션 하는 능력을 배우는 데 소비하고 있습니다. 즉, 다른 사람에게 내가 전달하고 싶은 것을 쉽고 명확하게 전달하기 위해 읽기, 쓰기, 말하기, 듣기 능력을 학습하는 것입니다.
그럼 우리가 프로그래밍 언어를 배우는 목적은 무엇일까요? 우리는 살아가면서 여러 가지 문제를 해결해야 하는 상황에 처하게 됩니다. 이를 위해 혼자서 밤을 세워 열심히 해결할 수도 있고, 주변 동료의 도움을 받을 수도 있으며, 기계의 도움을 받을 수도 있을 것입니다. 대부분의 경우 혼자서 일하는 것보다는 주변 동료와 협업하면 좀 더 효과적이고 효율적으로 업무를 처리할 수 있습니다. 게다가 기계와 협업하면 그 결과는 좀 더 좋아지지 않을까요? 우리가 동료와 커뮤니케이션을 잘하려고 노력하듯 기계와 커뮤니케이션 하기 위한 방법을 잘 아는 것도 필요합니다. 특히 앞으로 이러한 능력이 점차 중요해질 것입니다. 이미 우리가 모르고 있는 사이에 몇몇 분야에서는 기계가 인간보다 더 뛰어난 능력을 발휘하고 있습니다. 다만 이러한 변화의 물결이 과거와 달리 눈에 잘 안 보이는 가상의 세계에서 빠르게 이루어지고 있기 때문에 그 변화를 인지하지 못하고 있다고 생각합니다.
인간의 언어가 영어, 불어, 한국어, 중국어 등과 같이 다양하듯 프로그래밍 언어도 파이썬, 자바, C 등과 같이 다양합니다. 여러 프로그래밍 언어에서 파이썬은 점점 많은 사용자가 선택하고 있는 언어이기도 합니다. 인간의 언어 중 영어가 상대적으로 많은 분야에 사용되고 있듯이 프로그래밍 언어 중에서는 파이썬이 여러 분야에서 많이 사용되고 있습니다. 파이썬이 많은 사람들에게 선택 받고 있는 이유는 바로 이 때문입니다. 물론 한국인이 다른 언어에 비해 일본어를 상대적으로 쉽게 배우듯이 여러 가지 언어 중에서 파이썬이 배우기 쉽기 때문이기도 할 것입니다. 특히 최근 들어 파이썬은 데이터 분석, 인공지능 분야에서 많은 주목을 받고 있는 언어 중 하나입니다. 데이터 분석가가 쉽게 사용할 수 있다는 장점도 있지만 파이썬을 이용한 다양한 분석 사례도 있습니다. 한 가지 예로 Kaggle에 가보면 Python을 사용한 사례를 구해볼 수 있고, 최근 이슈가 되고 있는 딥러닝, 머신러닝을 구현하기 위한 구글에서 만든 도구 또한 Python에 기반을 두고 있습니다.
누구나 그렇듯이 프로그래밍을 처음 배울 때는 어렵습니다. 하지만 꾸준히 공부하다 보면 본인만의 노하우가 생길 것입니다. 아무쪼록 이 책이 여러분들이 프로그래밍의 세계에 입장하여 활발한 활동을 하는 데 도움이 되기를 바랍니다.

옮긴이 소개

정사범

산업공학을 전공했고, 의사결정과 최적화 방법론에 관심이 많다. 2000년 초반 입사해 제조업 분야에서 다양한 데이터를 R과 파이썬으로 분석해본 경험이 있다. 지금도 제조 현장에서 발생하는 여러 이슈를 데이터에 근거해 수리적으로 해결하는 문제를 고민하고 있다. 또한 다양한 책과 현장 경험을 통해 데이터 수집, 정제, 분석, 보고 방법에 대한 지식을 얻는 것에 감사하고 있다. 에이콘출판사에서 출간한 『RStudio 따라잡기』(2013), 『The R book(Second Edition) 한국어판』(2014), 『예측 분석 모델링 실무 기법』(2014), 『데이터 마이닝 개념과 기법』(2015), 『파이썬으로 풀어보는 수학』(2016), 『데이터 스토리텔링』(2016), 『R에서 객체 지향 프로그래밍 사용하기』(2016)을 번역했다.

목차

목차
  • 1장. 컴퓨팅과 문제에 대한 소개
    • 1.1 컴퓨팅과 파이썬 개요
    • 1.2 프로그램 개발 주기
    • 1.3 프로그래밍 툴
    • 1.4 파이썬에 대한 개요

  • 2장. 주요 객체, 변수, 입력과 출력
    • 2.1 숫자
    • 2.2 문자열
    • 2.3 결과
    • 2.4 리스트, 튜플, 파일 - 개요
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 3장. 프로그램 흐름을 제어하는 구조
    • 3.1 관계형과 논리형 연산
    • 3.2 조건문 구조
    • 3.3 while 반복문
    • 3.4 for 반복문
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 4장. 함수
    • 4.1 함수, Part 1
    • 4.2 함수, Part 2
    • 4.3 프로그램 설계
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 5장. 데이터 처리
    • 5.1 데이터 처리, Part 1
    • 5.2 데이터 처리, Part 2
    • 5.3 딕셔너리
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 6장. 나머지 주제
    • 6.1 예외 핸들링
    • 6.2 랜덤값 선택
    • 6.3 거북 그래픽
    • 6.4 순환(recursion)
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 7장. 객체 지향 프로그래밍
    • 7.1 클래스와 객체
    • 7.2 상속
    • 주요 용어와 개념
    • 프로그래밍 프로젝트

  • 8장. 그래픽 유저 인터페이스
    • 8.1 위젯
    • 8.2 Grid Geometry 관리자
    • 8.3 GUI 프로그램 작성하기
    • 주요 용어와 개념
    • 프로그래밍 프로젝트
  • 부록 A. ASCII 값
  • 부록 B. 예약어

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안