Top

파이썬으로 처음 시작하는 코딩 [초보자를 위한 프로그래밍 기본 원리와 파이썬 기본 사용법 학습을 통한 프로그래밍 입문]

  • 원서명Begin to Code with Python (ISBN 9781509304523)
  • 지은이롭 마일스(Rob Miles)
  • 옮긴이김무항
  • ISBN : 9791161752259
  • 40,000원
  • 2018년 12월 31일 펴냄
  • 페이퍼백 | 548쪽 | 188*235mm
  • 시리즈 : 프로그래밍 언어

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

프로그래밍 입문자에게 적합한 책이다. 가장 인기 있고 배우기 쉬운 언어인 파이썬을 기초부터 차근차근 배우면서 프로그래밍의 기본과 원리를 학습한다. 단순히 프로그래밍 지식을 전달하는 데 그치는 것이 아니라 프로그래머로서 갖춰야 할 소양과 주의 사항, 저자의 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

상세 이미지

저자/역자 소개

지은이의 말

프로그래밍은 학습할 수 있는 것 중 가장 창의적인 것이다. 왜 그럴까? 그림을 그리는 법을 배우면 그림을 그릴 수 있다. 바이올린을 연주하는 법을 배우면 음악을 연주할 수 있다. 하지만 프로그래밍을 배우면 완전히 새로운 경험을 만들 수 있다(원한다면 그림과 음악도 만들 수 있다). 일단 프로그래밍 세계에 들어서면 무엇이든 가능하다. 프로그래밍 기술을 활용할 수 있는 새로운 장치와 기술, 시장이 언제나 존재한다.
이 책을 프로그래밍 계몽을 위한 여정의 첫 번째 단계 정도로 생각했으면 한다. 최고의 여정을 위해서는 목적지를 염두에 두고 출발해야 한다. 이 책의 목적지는 "유용함"이다. 이 책을 모두 읽을 무렵에는 유용한 프로그램을 작성할 기술과 지식을 갖추게 될 것이다.
하지만 시작하기 전에 간단한 주의 사항을 일러두고자 한다. 사파리에서 가이드가 사자와 호랑이, 악어에 대해 설명하는 것과 마찬가지로 이번 여정이 항상 쉽지만은 않을 수 있다는 점을 말해주고 싶다. 프로그래머는 문제 해결에 관해 조금 다르게 생각하는 법을 배워야 한다. 컴퓨터와 사람이 동작하는 방식은 다르기 때문이다. 사람은 복잡한 문제를 다소 천천히 수행할 수 있다. 컴퓨터는 간단한 것을 매우 빠르게 처리할 수 있다. 기계의 단순한 능력을 활용해 복잡한 문제를 해결하는 것은 프로그래머의 역할이다. 이 점이 여러분이 이 책에서 배울 내용이다.
프로그래머로서 성공하기 위한 비결은 다른 분야에서의 성공 비결과 동일하다. 유명한 바이올린 연주자가 되기 위해서는 많이 연습해야 한다. 프로그래밍 역시 마찬가지다. 코드 작성 기술을 얻기 위해서는 프로그래밍에 많은 시간을 투자해야 한다. 그래도 좋은 소식은 바이올린 연주자가 자신의 악기로 음악을 연주하는 일을 실제로 즐기듯이 컴퓨터가 여러분이 원하는 것을 정확히 수행하도록 하는 것은 매우 보람된 경험이 될 수 있다는 점이다. 다른 사람들이 여러분의 프로그램을 유용하고 사용하기 쉽다고 느낀다면 프로그램을 작성하는 일은 더욱 즐거워질 것이다.

지은이 소개

롭 마일스(Rob Miles)

영국의 헐 대학교(University of Hull)에서 30년 이상 프로그래밍을 가르쳤다. 마이크로소프트 MVP로 프로그래밍에 대한 열정을 지녔으며 새로운 무언가를 만드는 데 관심이 많다. 여가 시간에는 더 많은 코드를 작성하고, 작성한 프로그램에서 결과가 어떤 식으로 나오는지 실행해보는 것을 즐긴다. 프로그래밍이 가장 창의적인 학습 대상이라고 생각하며 프로그래머는 미래를 만들어가는 사람이라고 믿는다.
스스로 정말 웃긴 농담을 많이 알고 있다고 생각하지만 어느 누구도 그가 농담하는 것을 들어본 적이 없다. 롭 마일스의 괴짜 세상(the Wacky World™ of Rob Miles)을 이해하길 원한다면 www.robmiles.com에서 직접 올린 글을 읽을 수 있으며 트위터 @RobMiles를 팔로우할 수도 있다.

옮긴이의 말

이 책은 프로그래밍 입문자나 파이썬을 학습하고자 하는 초보 프로그래머에게 가장 적합한 책이다. 이 책을 통해 프로그래밍에 입문한다면 앞으로 여러분의 프로그래밍 학습 속도는 가속화되지 않을까 조심스레 예측해본다. 프로그래머로서의 여정을 시작하는 여러분은 앞으로 계속해서 프로그래밍을 학습할 것이다. 신기술은 계속 등장하기 때문에 프로그래머라는 직업을 가진 여러분은 끊임없이 무언가를 학습해야만 한다. 이 책을 통해 프로그래밍을 학습하면서 어떤 의문을 지니고 어떤 관점에서 학습해야 할지 배울 수 있다.
이 책은 단순히 지식을 전달하는 데 그치지 않는다. 우선 주제에 대한 원리를 설명한 다음, 샘플 코드를 통해 실제 어떤 식으로 동작하는지 보여주고, 독자들이 샘플 코드를 활용해 더 복잡한 것을 만들어볼 수 있도록 유도한다. 또한 해당 주제와 연관해 독자들이 프로그래머로서 갖춰야 할 습관과 유의사항을 제시해 독자들이 훌륭한 프로그래머로 성장할 수 있도록 돕는다. 프로그래밍 입문자의 입장에서 궁금할 만한 질문과 그에 대한 답을 적재적소에 배치해 독자들의 학습을 돕는다. 이러한 학습 방식을 통해 각 주제에 대한 이해도를 높이고 학습한 내용을 자기 것으로 만들 수 있다. 학습이 지루하지 않고 이해하기 쉽도록 저자 특유의 유머와 다양한 비유가 여기저기에서 등장한다. 동시에 대학교에서 30년 이상 프로그래밍을 가르친 저자의 방대한 경험을 바탕으로 가장 효율적으로 프로그래밍에 입문할 수 있도록 주제의 순서와 내용, 샘플 코드 등에 많은 신경을 썼다. 이 책을 통해 저자가 얼마나 고민하면서 이 책을 집필했는지, 그리고 얼마나 오랜 기간 동안 준비를 했는지 느낄 수 있다.
파이썬과 프로그래밍을 처음 접하는 입문자를 위해 1부에서는 파이썬 설치법부터 변수, 조건문, 반복문, 함수 등의 프로그래밍 기본을 다룬다. 2부에서는 클래스, 객체 지향 설계법 등의 고급 프로그래밍 기법을 다룬다. 각 장에서 주제 설명을 위해 등장하는 샘플 코드는 해당 장의 주제를 위한 설명에서 끝나지 않고 책이 진행되는 동안 계속 발전해 최종적으로는 꽤 쓸만한 프로그램이 완성된다.
위에서 언급한 특징 덕분에 이 책을 읽고 나면 마치 저자에게 직접 프로그래밍을 배운 것 같은 느낌이 든다. 앞으로 여러분이 무수하게 접할 프로그래밍 책 중에서도 가장 기억에 남는 책이 되리라 확신한다.

옮긴이 소개

김무항

위치 기반 서비스, 증강현실, 보안 등 다양한 분야에서 연구, 개발했다. 기술 번역에 많은 관심이 있다. 에이콘출판사에서 펴낸 『드루팔 사용하기』(2013)와 『프로그래머처럼 생각하기』(2014), 『PHP와 MariaDB를 활용한 웹 애플리케이션 개발』(2016)을 번역했다.

목차

목차
  • 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 루프 구조
    • 스냅스를 사용해 디지털 시계 만들기
    • 요약

  • 7장. 함수를 사용한 프로그램 단순화
    • 함수란 무엇인가?
      • 매개변수를 사용해 함수에 정보 전달하기
      • 함수 호출로부터 값 반환하기
    • 재사용 가능한 함수 만들기
      • 텍스트 입력 함수 만들기
      • 함수에 도움말 정보 추가하기
      • 숫자 입력 함수 만들기
      • 함수를 파이썬 모듈로 변환하기
      • IDLE 디버거 사용하기
    • 요약
  • 8장. 자료 모음 저장하기
    • 리스트와 매출 추적
      • 개별적인 변수 사용 시 한계점
      • 파이썬 리스트
      • 리스트 입력 받기
      • for 루프를 사용해 리스트 표시하기
    • 프로그램을 함수로 리팩토링하기
      • 플레이스홀더 함수 생성하기
      • 사용자 메뉴 생성하기
    • 거품 정렬을 사용해 정렬하기
      • 리스트를 테스트 자료로 초기화하기
      • 리스트를 내림차순으로 정렬하기
      • 리스트를 오름차순으로 정렬하기
      • 가장 큰 매출과 가장 작은 매출 찾기
      • 매출 총합과 평균 계산하기
      • (소)프로그램 완성하기
    • 파일에 자료 저장하기
      • 파일에 저장하기
      • 매출 수치 파일에 기록하기
      • 파일로부터 읽기
      • 매출 수치 읽기
      • 파일 오류 처리하기
    • 자료를 표 형태로 저장하기
      • 루프를 사용해 표 처리하기
    • 리스트를 찾아보기 표로 사용하기
    • 튜플
    • 요약

  • Part 2: 고급 프로그래밍
  • 9장. 클래스를 사용한 자료 저장
    • 간단한 연락처 앱 만들기
      • 프로토타입 만들기
      • 연락처 세부정보를 별도 리스트에 저장하기
      • 클래스를 사용해 연락처 세부 정보 저장하기
      • 간단한 연락처 프로그램에서 Contact 클래스 사용하기
      • 연락처 편집하기
      • 피클을 사용해 파일에 연락처 저장하기
      • 피클을 사용해 파일로부터 연락처 불러오기
      • 간단한 연락처 프로그램에 save와 load 추가하기
      • 클래스 인스턴스 설정하기
    • 딕셔너리
      • 딕셔너리 관리
      • 함수로부터 딕셔너리 반환하기
      • 딕셔너리를 사용해 연락처 저장하기
    • 요약

  • 10장. 클래스를 사용한 활성 객체 생성
    • 시간 관리 프로그램 만들기
      • 클래스에 자료 속성 추가하기
      • 잘 정리된 객체 생성하기
      • 클래스의 메소드 속성 생성하기
      • 메소드에 검증 기능 추가하기
      • 자료 속성을 손상으로부터 보호하기
      • 보호 메소드
    • 클래스 속성 만들기
    • 클래스 설계 개선하기
      • 클래스 버전 관리하기
    • 클래스의 str 메소드
      • 파이썬 문자열 서식화
    • 시간 관리 애플리케이션에서 근무 관리하기
      • 파이썬 map 함수
      • 파이썬 join 메소드
    • 스냅스를 활용해 음악 재생하기
    • 요약

  • 11장. 객체 기반 해결책 설계
    • 의류 판매점 애플리케이션
      • 애플리케이션 자료 설계
      • 객체지향 설계
      • 상위클래스와 하위클래스 만들기
      • 자료 설계 요약
      • 애플리케이션 동작 구현하기
      • 구성요소 역할을 하는 객체
    • 의류 판매점 구성요소 생성하기
      • 사용자 인터페이스 구성요소 생성하기
    • 클래스를 활용한 설계
    • 파이썬 집합
      • 집합과 태그
      • 집합과 클래스 계층 구조 간의 비교
    • 요약

  • 12장. 파이썬 애플리케이션
    • 고급 함수
      • 함수에 대한 참조
      • 람다 표현식 사용하기
      • 반복자 함수와 yield문
      • 임의의 인자 개수를 지닌 함수
    • 모듈과 패키지
      • 파이썬 모듈
      • BTCInput에 readme 함수 추가하기
      • 모듈을 프로그램으로서 실행하기
      • 모듈이 프로그램으로서 실행된 것인지 파악하기
      • 파이썬 패키지 만들기
      • 패키지로부터 모듈 임포트하기
    • 프로그램 테스트
      • 파이썬 assert문
      • 파이썬 unittest 모듈
      • 테스트 생성하기
    • 프로그램 문서 기록 확인하기
    • 요약
  • Part. 3: 유용한 파이썬
  • 다운로드 가능한 문서로 제공

도서 오류 신고

도서 오류 신고

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

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

(예시) p.100 아래에서 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