Python 실습으로 기초부터


저자 : 이진영

판형 : 46배변형판

분량 : 560

가격 : 21,000원

발행일 : 2017.08.25

ISBN : 978-89-94044-96-5 93560


 
 
사회 전반에서 컴퓨터가 이용되지 않는 분야는 없다. 특히, 소프트웨어는 실생활의 모든 부분에서 활용되고 있기 때문에 소프트웨어를 이용해 모든 문제를 해결해 나가는 사회를 ‘소프트웨어 중심 사회’라고 한다. 그리고 최근에는 컴퓨터 비전공자들도 컴퓨터 과학의 이론, 기술, 도구를 활용하여 현실의 복잡하고 어려운 문제를 해결하는 ‘컴퓨팅 사고(Computational Thinking)’에 의한 문제해결 능력을 배양해야 한다는 요구가 많아지면서 전 세계적으로 소프트웨어 교육을 의무화하려는 추세다. 이러한 상황에서 여러 사회적인 문제들을 소프트웨어로 해결하기 위한 컴퓨팅 사고 능력을 배양하려는 다양한 교육방법이 개발되고 있다. 그 가운데 프로그래밍 언어를 이용하여 프로그래밍 개념을 정립하고 이를 바탕으로 문제해결 방법을 학습하는 소프트웨어 개발을 위한 코딩 교육이 부각되고 있다. 최근에는 전공자뿐만 아니라 비전공자에게 직관적이고 간결하며 이해하기 쉬운 Python이 프로그래밍 학습을 위한 언어로 주목을 받고 있다. 따라서 이 책에서는 독자가 컴퓨팅 사고를 학습하는 데 도움이 되는 Python을 보다 쉽게 이해하고 학습할 수 있도록 다양한 예제와 도식을 이용하여 설명하고 있다.


contents

1. 컴퓨터적 사고 / 17
1.1. 컴퓨터를 활용한 문제해결 방법의 장점 / 18
1.2. 문제해결 / 20
1.3. 순서도 / 22
1.4. 컴퓨터 언어 / 24
1.5. 프로그램이란 / 27
1.5.1. 소스 코드 입력 / 28
1.5.2. 프로그램 실행 / 29
1.5.3. 프로그램 설명 / 29
연습문제 / 31


2. Python 첫걸음 / 35
2.1. 프로그래밍 준비사항 / 35
2.1.1. GUI와 CUI / 35
2.1.2. CUI 환경 익히기 / 36
2.1.3. 작업용 폴더(디렉토리) 만들기 / 37
2.1.4. Python 설치하기 / 38
2.1.5. Python의 실행과 종료 / 41
2.2. 인터렉티브 셀에서 Python 시작하기 / 42
2.2.1. 간단한 수식 입력 / 42
2.2.2. 문자열 다루기 / 44
2.2.3. 데이터 모아서 보기 / 46
2.2.4. 모듈 / 46
2.2.5. IDLE / 47
2.2.6. 들여쓰기에 대하여 / 47
2.2.7. 상수 / 49
2.2.8. 주석 / 51
2.3. Python의 철학 / 52
연습문제 / 54


3. 자료형 / 59
3.1. 변수 / 60
3.2. 기본 자료형 / 64
3.2.1. 정수형 / 65
3.2.2. 실수형(Float) / 67
3.2.3. 문자열형(String) / 69
3.2.4. 부울형(Boolean) / 91
3.2.5. 리스트형(List) / 92
3.3. 기타 자료형* / 124
3.3.1. 딕셔너리형 / 124
3.3.2. 튜플 / 135
3.3.3. 세트 / 139
3.4. 자료의 입력과 출력 / 143
3.5. 자료형 활용 / 150
연습문제 / 164


4. 연산자 / 175
4.1. 산술 연산자 / 175
4.2. 관계 연산 / 177
4.3. 논리 연산자 / 180
4.4. 비트 연산자* / 183
4.5. 대입 연산자 / 185
4.6. 복합 대입 연산자 / 186
4.7. 연산자의 활용 / 187
연습문제 / 198


5. 거북이와 놀기 / 205
5.1. 거북이 만들기 / 205
5.2. 거북이 이동시키기 / 207
5.2.1. 거북이 전후로 이동시키기 / 207
5.2.2. 거북이 방향 전환하기 / 209
5.2.3. 거북이 원 그리기 / 210
5.3. 작업 취소와 지우기 / 211
5.3.1. 이전 작업 취소하기 / 211
5.3.2. 거북이 초기 위치로 복귀시키기 / 212
5.3.3. 캔버스의 내용 모두 지우기 / 213
5.4. 거북이를 이용해 간단한 그림 그리기 / 213
5.5. 선의 속성 변경하기 / 218
5.5.1. 선의 굵기 변경하기 / 218
5.5.2. 선의 색상 적용하기 / 219
5.6. 도형의 면에 색칠하기 / 222
5.7. 선과 면 한꺼번에 적용하기 / 224
연습문제 / 226


6. 제어문 / 233
6.1. 조건문 / 233
6.1.1. 자료형의 참과 거짓 / 239
6.1.2. 조건이 2개 이상인 경우 / 241
6.1.3. if ~ elif ~ else 문 / 243
6.1.4. 조건문의 활용 / 249
6.2. 반복문 / 260
6.2.1. for 문 / 260
6.2.2. 리스트 안에 for 문 포함하기* / 276
6.2.3. while 문 / 278
6.2.4. break와 continue 문 / 284
6.2.5. for 문과 while 문의 관계 / 287
6.2.6. 중첩 반복문 / 289
6.2.7. 반복문의 활용 / 292
연습문제 / 320


7. 함수 / 339
7.1. 함수의 기본 구조 / 341
7.1.1. 인수와 반환값이 모두 있는 경우 / 342
7.1.2. 인수는 있고 반환값이 없는 경우 / 343
7.1.3. 인수는 없고 반환값이 있는 경우 / 344
7.1.4. 인수와 반환값 모두 없는 경우 / 345
7.1.5. 인수의 개수를 모를 경우* / 345
7.1.6. 반환값은 오로지 하나 / 347
7.1.7. 인수에 초기값 설정하기* / 348
7.1.8. 전역 변수와 지역 변수 / 350
7.2. 내장 함수 / 354
7.2.1. 출력 함수 print() / 354
7.2.2. 입력 함수 input() / 362
7.2.3. 기타 함수들* / 364
7.3. 재귀 함수* / 384
7.4. 함수의 활용 / 388


8. 모듈* / 417
8.1. 모듈 생성과 사용 / 419
8.2. 모듈의 경로 / 420
8.3. 모듈의 종류 / 423
8.4. 모듈의 활용 / 424
8.4.1. 사용자 정의 모듈 / 424
8.4.2. 날짜 모듈 사용하기 / 428
8.4.3. 시간 모듈 사용하기 / 432
8.4.4. 랜덤 모듈 사용하기 / 436
8.4.5. 수학 모듈 사용하기 / 439
연습문제 / 444


9. Turtle 다루기 / 451
9.1. 함수를 적용해 거북이로 다양한 도형 그리기 / 451
9.2. 캔버스와 좌표 제어하기 / 463
9.2.1. 창의 크기 관련 메소드 / 463
9.2.2. 거북이의 위치 관련 메소드 / 465
9.2.3. 펜 들고 내리기 / 468
9.2.4. 거북이 스탬프 찍기 / 471
9.3. 거북이 맘대로 움직이기* / 472
9.3.1. 원반 그리기 / 474
9.3.2. 거북이 원반 밖으로 나가면 종료하기 / 475
9.3.3. 거북이 원반 내부에¼\- 만 움직이기 / 476
9.3.4. 거북이 방향 무작위로 선택하기 / 477
연습문제 / 479


10. 파일 입출력* / 487
10.1. 파일의 이해 / 488
10.2. 파일 생성(열기)하기 / 490
10.3. 텍스트 파일 쓰기 / 492
10.4. 텍스트 파일 읽기 / 497
10.4.1. 한줄씩 읽어들이기 : readline() 함수 / 498
10.4.2. 여러 줄 읽어들이기 : readlines() 함수 / 500
10.4.3. 파일 전체를 한꺼번에 읽기 : read() 함수 / 500
10.5. 텍스트 파일에 내용 추가하기 / 501
10.6. 텍스트 파일 입출력의 활용 / 501
10.6.1. 텍스트 파일 복사하기 / 501
10.6.2. 텍스트 파일의 각 문자별 문자의 개수 세기 / 505
10.7. 바이너리(이진) 파일 다루기 / 506
연습문제 / 508


11. 객체지향 프로그래밍* / 513
11.1. 클래스와 인스턴스 / 514
11.1.1. 클래스 정의 / 516
11.1.2. 인스턴스 생성하기 / 517
11.2. 인스턴스 변수와 클래스 변수 / 526
11.3. 인스턴스 메소드와 클래스 메소드, 정적 메소드 / 529
11.4. 정보은닉: 프라이빗 멤버 / 533
11.5. 클래스의 상속 / 535
11.6. 오버라이딩과 다형성 / 546
11.7. 객체지향 프로그래밍 활용 / 549
연습문제 / 558