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

파이썬 알고리즘 객체지향 코딩의 기술 장무 pdf 다운로드를 무료로 제공합니다 파이썬 문법, 알고리즘, 객체지향, 코딩의 기술을 한권으로 배울 수 있다. 문법 떼고 알고리즘 책 보고 객체지향 등을 따로 공부해야 하는 불편함을 없앴다

관련 책 pdf 모음

코딩 인터뷰 알고리즘 치트시트 pdf

책 소개

이 책을 통해서 ‘코딩의 원리’를 찾아보려고 합니다. 모든 것에는 ‘원리’가 있습니다. 한 움큼 정도 될까요? 알고 나면 너무 단순하고 당연해서 허무할 정도입니다. 지금 우리가 공부하고 있는 모든 지식은 ‘역사상’ 가장 쉽고 단순한 것입니다. 만약, 그렇지 않다면 우리의 아버지 세대 중 누군가가 ‘더 쉬운’ 새로운 방법을 찾아냈을 테고 다음 세대인 우리는 그 ‘새롭고 쉬운’ 방법으로 세상을 배우며 살고 있겠지요. 코딩도 마찬가지입니다. 이 책은 (그 한 움큼 겨우 될까 말까 한) ‘코딩의 진짜 원리’를 같이 탐구하고자 만들었습니다. 컴퓨터 언어는 사람들이 ‘자신의 언어를 본떠서’ 만든 것이어서, ‘우리말을 쓰는 데 문제가 없으면’ 어려울 것이 전혀 없습니다. 사람의 언어와 정말 많이 닮아 있기 때문입니다. 또한 이 책은 셀프 스터디(Self Study)로 코딩을 공부하려는 학생을 위해 만들었습니다. 이러한 목적에 맞추다 보니 코딩과 관련한 책이지만 코드보다는 말(글)이나 그림이 많은 책입니다. 외국어를 배울 때 초반에 조금 어려움을 겪는 것처럼, 컴퓨터 언어도 하나의 언어이다 보니 초반을 쉽게 지나가기는 어렵습니다. 제대로 된 문장을 하나 만들려면 단어도 ‘어느 정도는’ 알아야 하고, 문법도 ‘어느 정도는’ 알아야 합니다. 한참 뒤의 챕터에서나 배울 내용들에 대한 지식이 ‘어느 정도는’ 있어야 하는 경우도 많습니다. 그래서 처음 시작은 조금 까다롭습니다. (어느 분야나 마찬가지겠지만) 좋은 선생님이나 좋은 책이 필요한 이유입니다. 마지막으로 이 책은 파이썬 언어를 통해 알고리즘(algorithm), 함수(function), 그리고 객체(object) 기술을 공부하는 책입니다. 세상에 컴퓨터 언어가 정말로 많지만, 컴퓨터 언어의 원리는 똑같습니다. 가끔은 두세 개 컴퓨터 언어를 동시에 공부하는 학생들이 있는데, 이는 바람직하지 않습니다. 한 가지 언어만 마스터하면 다른 언어는 금세 마스터합니다. 그렇다면 무슨 언어로 시작할지가 고민이 되는데, 파이썬은 정말 괜찮은 선택입니다. 실제로 파이썬은 쉽게 시작할 수 있는 언어입니다(오해하면 안 됩니다. 언어 자체가 쉽다는 뜻이 아닙니다. 말 그대로 시작하기가 쉽다는 뜻입니다. 세상에 쉬운 언어, 어려운 언어가 따로 있는 것이 아닙니다). 게다가 파이썬은 코딩 이외에도 빅데이터 분석이나 인공지능 분야에서도 많이 활용되고 있어서, 코딩 공부를 시작하는 데 이만한 언어가 없는 것 같습니다.

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

파이썬 알고리즘 객체지향 코딩 pdf

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

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( ) 함수와 형변환(Type Casting)
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장을 정리하겠습니다

찾아보기

Leave a Comment