소스 코드 파일은여기에서 내려 받으실 수 있습니다.
프로그래밍 입문자에게 적합한 책이다. 가장 인기 있고 배우기 쉬운 언어인 파이썬을 기초부터 차근차근 배우면서 프로그래밍의 기본과 원리를 학습한다. 단순히 프로그래밍 지식을 전달하는 데 그치는 것이 아니라 프로그래머로서 갖춰야 할 소양과 주의 사항, 저자의 30년 노하우 등을 전달해 입문자가 훌륭한 프로그래머로 성장할 수 있도록 돕는다.
█ 최신 파이썬 프로그램을 만들기 위한 강력한 무료 툴 설치 및 사용
█ 170개의 샘플 프로그램을 통해 핵심 개념 학습 후 자신만의 프로그램을 만들기 위한 토대 제공
█ 프로그램 실행 시 발생하는 일
█ 전문가 관점에서 프로그램 개발 접근
█ 파이썬 언어의 핵심 항목 학습
█ 클래스, 메소드, 객체를 활용해 복잡한 소프트웨어 제작
█ 쉽게 만들고 개선할 수 있도록 프로그램 구조화
█ 사용자로부터의 입력 및 입력에 대한 반응
█ 다양한 종류의 실제 자료 저장 및 조작
█ 특정 문제를 해결하기 위한 맞춤 자료형 정의
█ 재미있는 인터랙티브 게임 개발
█ 최신 웹과 클라우드 기반 애플리케이션 제작
█ 미리 작성된 라이브러리를 활용해 강력한 소프트웨어를 빠르게 제작
이 책에서 제공하는 프로그램을 다루기 위해서는 컴퓨터와 특정 소프트웨어가 필요하다. 여러분에게 컴퓨터를 제공할 수는 없을 것 같다. 대신 1장에서 파이썬 관련 툴과 비주얼 스튜디오 코드(Visual Studio Code)라는 애플리케이션을 다운로드하는 방법을 알려주겠다. 규모가 큰 애플리케이션을 작성할 때 이들을 활용할 것이다.
PC 혹은 랩톱 사용
모바일 장치 사용
이 책은 총 3부로 구성된다. 각 부분은 여러분을 훌륭한 프로그래머로 만들기 위한 목표를 갖고 이전 부분에서 배운 내용을 활용한다. 책의 초반에는 저수준(low-level) 프로그래밍 명령어를 살펴본다. 프로그램은 이러한 명령어를 사용해 컴퓨터가 무엇을 수행해야 하는지 지시한다. 그리고 책의 후반부에서는 전문적인 소프트웨어 구성을 살펴본다.
1부. 프로그래밍 기초
2부. 고급 프로그래밍
3부. 유용한 파이썬
프로그램을 만드는 법을 익히고 나면,다른 사람들이 작성한 코드를 사용하는 법을 배울 수 있다. 파이썬의 중요한 장점 중, 하나는 파이썬 사용자가 사용할 수 있는 소프트웨어 라이브러리가 많다는 점이다.프로그래밍은 학습할 수 있는 것 중 가장 창의적인 것이다. 왜 그럴까? 그림을 그리는 법을 배우면 그림을 그릴 수 있다. 바이올린을 연주하는 법을 배우면 음악을 연주할 수 있다. 하지만 프로그래밍을 배우면 완전히 새로운 경험을 만들 수 있다(원한다면 그림과 음악도 만들 수 있다). 일단 프로그래밍 세계에 들어서면 무엇이든 가능하다. 프로그래밍 기술을 활용할 수 있는 새로운 장치와 기술, 시장이 언제나 존재한다.
이 책을 프로그래밍 계몽을 위한 여정의 첫 번째 단계 정도로 생각했으면 한다. 최고의 여정을 위해서는 목적지를 염두에 두고 출발해야 한다. 이 책의 목적지는 "유용함"이다. 이 책을 모두 읽을 무렵에는 유용한 프로그램을 작성할 기술과 지식을 갖추게 될 것이다.
하지만 시작하기 전에 간단한 주의 사항을 일러두고자 한다. 사파리에서 가이드가 사자와 호랑이, 악어에 대해 설명하는 것과 마찬가지로 이번 여정이 항상 쉽지만은 않을 수 있다는 점을 말해주고 싶다. 프로그래머는 문제 해결에 관해 조금 다르게 생각하는 법을 배워야 한다. 컴퓨터와 사람이 동작하는 방식은 다르기 때문이다. 사람은 복잡한 문제를 다소 천천히 수행할 수 있다. 컴퓨터는 간단한 것을 매우 빠르게 처리할 수 있다. 기계의 단순한 능력을 활용해 복잡한 문제를 해결하는 것은 프로그래머의 역할이다. 이 점이 여러분이 이 책에서 배울 내용이다.
프로그래머로서 성공하기 위한 비결은 다른 분야에서의 성공 비결과 동일하다. 유명한 바이올린 연주자가 되기 위해서는 많이 연습해야 한다. 프로그래밍 역시 마찬가지다. 코드 작성 기술을 얻기 위해서는 프로그래밍에 많은 시간을 투자해야 한다. 그래도 좋은 소식은 바이올린 연주자가 자신의 악기로 음악을 연주하는 일을 실제로 즐기듯이 컴퓨터가 여러분이 원하는 것을 정확히 수행하도록 하는 것은 매우 보람된 경험이 될 수 있다는 점이다. 다른 사람들이 여러분의 프로그램을 유용하고 사용하기 쉽다고 느낀다면 프로그램을 작성하는 일은 더욱 즐거워질 것이다.
영국의 헐 대학교(University of Hull)에서 30년 이상 프로그래밍을 가르쳤다. 마이크로소프트 MVP로 프로그래밍에 대한 열정을 지녔으며 새로운 무언가를 만드는 데 관심이 많다. 여가 시간에는 더 많은 코드를 작성하고, 작성한 프로그램에서 결과가 어떤 식으로 나오는지 실행해보는 것을 즐긴다. 프로그래밍이 가장 창의적인 학습 대상이라고 생각하며 프로그래머는 미래를 만들어가는 사람이라고 믿는다.
스스로 정말 웃긴 농담을 많이 알고 있다고 생각하지만 어느 누구도 그가 농담하는 것을 들어본 적이 없다. 롭 마일스의 괴짜 세상(the Wacky World™ of Rob Miles)을 이해하길 원한다면 www.robmiles.com에서 직접 올린 글을 읽을 수 있으며 트위터 @RobMiles를 팔로우할 수도 있다.
이 책은 프로그래밍 입문자나 파이썬을 학습하고자 하는 초보 프로그래머에게 가장 적합한 책이다. 이 책을 통해 프로그래밍에 입문한다면 앞으로 여러분의 프로그래밍 학습 속도는 가속화되지 않을까 조심스레 예측해본다. 프로그래머로서의 여정을 시작하는 여러분은 앞으로 계속해서 프로그래밍을 학습할 것이다. 신기술은 계속 등장하기 때문에 프로그래머라는 직업을 가진 여러분은 끊임없이 무언가를 학습해야만 한다. 이 책을 통해 프로그래밍을 학습하면서 어떤 의문을 지니고 어떤 관점에서 학습해야 할지 배울 수 있다.
이 책은 단순히 지식을 전달하는 데 그치지 않는다. 우선 주제에 대한 원리를 설명한 다음, 샘플 코드를 통해 실제 어떤 식으로 동작하는지 보여주고, 독자들이 샘플 코드를 활용해 더 복잡한 것을 만들어볼 수 있도록 유도한다. 또한 해당 주제와 연관해 독자들이 프로그래머로서 갖춰야 할 습관과 유의사항을 제시해 독자들이 훌륭한 프로그래머로 성장할 수 있도록 돕는다. 프로그래밍 입문자의 입장에서 궁금할 만한 질문과 그에 대한 답을 적재적소에 배치해 독자들의 학습을 돕는다. 이러한 학습 방식을 통해 각 주제에 대한 이해도를 높이고 학습한 내용을 자기 것으로 만들 수 있다.학습이 지루하지 않고 이해하기 쉽도록 저자 특유의 유머와 다양한 비유가 여기저기에서 등장한다. 동시에 대학교에서 30년 이상 프로그래밍을 가르친 저자의 방대한 경험을 바탕으로 가장 효율적으로 프로그래밍에 입문할 수 있도록 주제의 순서와 내용, 샘플 코드 등에 많은 신경을 썼다. 이 책을 통해 저자가 얼마나 고민하면서 이 책을 집필했는지, 그리고 얼마나 오랜 기간 동안 준비를 했는지 느낄 수 있다.
파이썬과 프로그래밍을 처음 접하는 입문자를 위해 1부에서는 파이썬 설치법부터 변수, 조건문, 반복문, 함수 등의 프로그래밍 기본을 다룬다. 2부에서는 클래스, 객체 지향 설계법 등의 고급 프로그래밍 기법을 다룬다. 각 장에서 주제 설명을 위해 등장하는 샘플 코드는 해당 장의 주제를 위한 설명에서 끝나지 않고 책이 진행되는 동안 계속 발전해 최종적으로는 꽤 쓸만한 프로그램이 완성된다.
위에서 언급한 특징 덕분에 이 책을 읽고 나면 마치 저자에게 직접 프로그래밍을 배운 것 같은 느낌이 든다. 앞으로 여러분이 무수하게 접할 프로그래밍 책 중에서도 가장 기억에 남는 책이 되리라 확신한다.
위치 기반 서비스, 증강현실, 보안 등 다양한 분야에서 연구, 개발했다. 기술 번역에 많은 관심이 있다. 에이콘출판사에서 펴낸 『드루팔 사용하기』(2013)와 『프로그래머처럼 생각하기』(2014), 『PHP와 MariaDB를 활용한 웹 애플리케이션 개발』(2016)을 번역했다.
[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