파이썬 알고리즘 객체지향 코딩의 기술

파이썬 알고리즘 객체지향 코딩의 기술

$37.61
Description
파이썬 문법, 알고리즘, 객체지향, 코딩의 기술을 한권으로 배울 수 있다. 문법 떼고 알고리즘 책 보고 객체지향 등을 따로 공부해야 하는 불편함을 없앴다. 셀프 스터디(Self Study)로 코딩을 공부하려는 학생을 위해 친절하게 설명하다 보니 글과 그림이 많은 책이다. 읽고 생각하고 그림으로 이해하고 코드를 만들어보며 문제 해결이라는 코딩의 목적에 맞게 파이썬을 배울 수 있다.

_대상 독자와 공부 방법
1. 가장 좋은 방법은 처음부터 끝까지 정독하며 하나하나 코드를 쳐보고 의미를 파악하는 것입니다.
2. 빠르게 파이썬 문법을 배우고자 하는 독자는 이 책의 3분의 1만 학습하면 됩니다. 최소한 10장의 자료구조까지만 익히면 파이썬의 기초는 뗄 수 있습니다.
3. 파이썬 기본 문법서를 이미 뗀 독자라면 10장 자료구조부터 읽어볼 것을 권합니다. 이 책은 기초 문법 외에 알고리즘, 객체지향 및 코딩의 기술을 다루고 있기에 파이썬을 제대로 활용할 수 있도록 도움을 받을 수 있습니다.
저자

장무경

서울대학교산업공학과를졸업하고,포스텍산업경영공학과에서인공지능(컴퓨터비전)과컴퓨터활용으로석,박사학위를받았다.한국국방연구원,서울연구원에서국방M&S(Modelling&Simulation),서울시정보화정책등을연구하다가2009년부터남서울대학교빅데이터경영공학과교수로재직중이다.

목차

저자서문
파알객코(파이썬알고리즘객체지향코딩의기술)를소개합니다

1장코딩을공부해야하는이유
컴퓨터를이용해서기계를자동화합니다
소프트웨어가하드웨어를움직입니다
소프트웨어의기본은알고리즘입니다
컴퓨터언어는사람의언어와다르지않습니다
그래서우리는이책에서이런공부를하려고합니다

2장파이썬을설치하고개발환경갖추기
1단계:파이썬을설치합니다
2단계:파이썬가상환경을설치합니다
3단계:IPython개발도구를설치합니다
IPython의사용법을간단하게소개합니다
2장을정리하겠습니다

3장주피터노트북을설치하고사용하기
주피터노트북을설치하겠습니다
주피터노트북을실행해보겠습니다
주피터노트북의사용법을알아보겠습니다
3장을정리하겠습니다

4장변수와함수로구성되는프로그램
사람의언어와컴퓨터언어는서로다르지않습니다
컴퓨터프로그램은IPO입니다
컴퓨터명령문은y=s.f(x)형태로만들어집니다
변수는데이터의이름,함수는프로세스의이름입니다
4장을정리하겠습니다

5장데이터와연산,그리고변수
변수란데이터의이름입니다.그럼,데이터는무엇인가요?
데이터는숫자,문자,불리언으로구분할수있습니다
데이터의연산을살펴보겠습니다
숫자데이터의산술연산을알아봅니다
데이터를가리키는이름을‘변수’라고부릅니다
리어사인먼트:변수가가리키는값이바뀝니다
변수명은마음대로짓는것이아닙니다.규칙이있습니다
5장을정리하겠습니다

6장입출력함수,input()과print()
파이썬은기본적인기능을내장함수로제공하고있습니다
출력함수인print()를알아보겠습니다
print()함수에는몇가지옵션이있습니다
입력함수인input()을알아보겠습니다
input()함수와형변환(TypeCasting)
6장을정리하겠습니다

7장컨트롤구조의개요
가장기본적인형태는순차입니다
프로그램의실행은토큰의흐름으로설명할수있습니다
분기:“경우(조건)에따라서”라는로직을표현합니다
반복:“여러번”반복하는로직을표현합니다
조건:조건식은비교연산으로만들어집니다
복합조건:조건식을연결하여복잡한로직을표현합니다
7장을정리하겠습니다

8장분기를나타내는if문
if문:“~이면”의논리를표현합니다
if~else문:“그렇지않으면”의논리를표현합니다
if~elif~else문:세개이상의경로를표현합니다
8장을정리하겠습니다

9장반복을위한for문과while문
for루프를알아보겠습니다
while루프를알아보겠습니다
9장을정리하겠습니다

10장표준데이터구조:리스트,튜플,문자열,딕셔너리
데이터를메모리에저장하고참조하는방법을알아봅니다
리스트데이터구조를알아보겠습니다
튜플은수정할수없는리스트입니다
문자열은문자들의튜플입니다
딕셔너리의형태는key:value입니다
10장을정리하겠습니다

11장알고리즘연습파트1
알고리즘은문제해결절차입니다
첫번째알고리즘연습:최댓값을찾는문제입니다
확장이쉬운알고리즘이좋은알고리즘입니다
최댓값알고리즘을응용해보겠습니다
11장을정리하겠습니다

12장알고리즘연습파트
여러값의합을구하는문제를풀어봅니다
데이터개수를카운트합니다
프로그램실행은변수할당의연속입니다
12장을정리하겠습니다

13장알고리즘연습파트3
선택정렬을알아봅니다
거품정렬을알아봅니다
문자열도정렬이가능합니다
13장을정리하겠습니다

14장알고리즘연습파트4
아이디어1:최댓값을찾아서최솟값으로대체한후에다시최댓값을찾습니다
아이디어2:오름차순으로정렬했을때마지막에서두번째로있는값입니다
아이디어3:리스트의각값에대해자신의값보다큰값의개수를세었을때
그개수가1인수가두번째로큰값입니다
아이디어4:두번째로큰값은max값보다작은값중에가장큰값입니다
14장을정리하겠습니다

15장함수
함수는def키워드를사용해서정의합니다
함수는알고리즘을담는그릇이됩니다
함수의호출은토큰의전달입니다
프로그램은IPO로만들어진하나의서비스입니다
인자와반환값이있는함수를만들어보겠습니다
15장을정리하겠습니다

16장함수의인자와반환값
함수는프로그램을구성하는기본단위입니다
함수의인자전달을알아보겠습니다
변수의범위와이름공간,그리고수명주기를이해해야합니다
인자전달방식에는위치인자와키워드인자,그리고디폴트인자가있습니다
함수의반환을알아봅니다
16장을정리하겠습니다

17장코딩의완성:테스팅과디버깅
첫번째는구문에러입니다
실행중에만나게되는런타임에러를살펴봅니다
마지막으로논리에러를만나보겠습니다
먼저,블랙박스테스팅을살펴보겠습니다
다음으로,화이트박스테스팅을살펴보겠습니다
그럼,실제로디버깅은어떻게해야하는것일까요?
17장을정리하겠습니다

18장스크립트와모듈그리고매직명령어
파이썬은대화형모드와스크립트모드로사용할수있습니다
파일과폴더(디렉터리)를알아보겠습니다
매직명령어를소개합니다
이제모듈과패키지를알아봅니다
파이썬스크립트를실행합니다
18장을정리하겠습니다
부록A_노트패드++를소개합니다

19장객체의개요
객체를활용하여행위의주체를표현할수있습니다
클래스와객체간의의미를구별하는것이객체공부의시작입니다
객체를생성하고객체와커뮤니케이션해봅니다
객체의정적인속성은인스턴스변수로표현됩니다
19장을정리하겠습니다

20장객체와캡슐화
메서드의호출은실제로는ECA로동작합니다
자판기예제로객체개발을연습하겠습니다
인스턴스변수에대한접근과setter/getter메서드를알아봅니다
20장을정리하겠습니다

21장객체간의관계:컴포지션과상속
인스턴스,정적,클래스메서드를살펴봅니다
일급객체와데코레이터를알아봅니다
객체간의관계중첫번째로,컴포지션입니다
두번째로상속관계를알아보겠습니다
21장을정리하겠습니다

22장종합편:최단경로를찾는다익스트라알고리즘
먼저,컴퓨터에서도로를어떻게표현할수있을지살펴보겠습니다
최단경로의의의를알아보겠습니다
다익스트라알고리즘을알아보겠습니다
다익스트라알고리즘을구현하겠습니다
22장을정리하겠습니다
부록B_다익스트라알고리즘의전체코드

23장라이브러리와패키지
라이브러리가무엇인지알아보겠습니다
패키지에대해알아보겠습니다
패키지도모듈처럼임포트할수있습니다
패키지도모듈처럼명령창에서실행할수있습니다
독스트링을통해도움말을제공합니다
23장을정리하겠습니다

24장파이썬라이브러리:터틀
터틀모듈을알아보겠습니다
그외에유용한몇가지메서드를소개하겠습니다
터틀그래픽스를이용해서그림을그려보겠습니다
터틀그래픽스를확장해보겠습니다
24장을정리하겠습니다

25장파이썬라이브러리:맷플롯립
맷플롯립을시작합니다
맷플롯립에서한글을사용하려면조금준비가필요합니다
여러개의Axes를포함하는Figure객체를생성합니다
그외에다양한차트를그릴수있습니다
pyplot모듈을잠시소개하겠습니다
매직명령어%matplotlib을활용해봅시다
몇가지유용한메서드를소개하겠습니다
25장을정리하겠습니다
부록C_위치인자와키워드인자,그리고키워드-온리인자

26장파이썬라이브러리:판다스
시리즈데이터타입을살펴보겠습니다
데이터프레임을살펴보겠습니다
26장을정리하겠습니다

찾아보기

출판사 서평

파이썬으로생각하고표현하는능력을키운다
문제에대해알고리즘을만들어낼수있다
객체지향의의미를이해하고설계를할수있다
다양한코딩의기술을연마한다

이모든것을단한권으로배운다!

[주요내용]
코딩을공부해야하는이유
파이썬설치와개발환경설정
변수와함수,데이터연산
입출력함수,컨트롤구조
분기와반복문
데이터구조:리스트,튜플,딕셔너리
알고리즘연습(총4개파트)
함수에관한모든것
코딩의완성:테스팅과디버깅
객체기술과설계를잘할수있는법
종합실습:최단경로를찾는다익스트라알고리즘
라이브러리와패키지
주요라이브러리기초완성:터틀,맷플롯립,판다스

[베타리더서평]
“내용도내용지만,단어하나문장하나허투루표현하지않아놀라웠습니다.그냥따라해보는것이아니라,“아~이래서이렇게되는구나"하는것을마지막페이지까지느낄수있었습니다.”
_김영우(컴퓨터학과3학년생)

“프로그램의실행을토큰의흐름으로설명한부분이나,자주등장하는컴퓨터과학지식,코드의내용을그림으로표현한부분(100개는넘는듯합니다)은압권이었습니다.”
_이상훈(개발자취업준비생)

“자료구조,알고리즘,객체지향을함께배울수있었습니다.특히마지막에맷플롯립(Matplotlib),판다스(Pandas)는맛뵈기수준이아니라라이브러리를어떻게활용하는지확실하게알려주는내용이었습니다.”
_박재훈(주니어개발자)