파이썬은 현재 가장 각광받는 언어라고 말할 수 있다. 최근에 인공지능이나 데이터 과학, 영상처리, 업무 자동화 분야는 파이썬으로 프로그램을 작성하는 것이 거의 표준으로 되어 있다. 해가 갈수록 각 분야에서 파이썬 활용이 폭발적으로 늘어나고 있다. 이 책은 다양한 전공의 학생들에게 파이썬을 소개하고, 해당 전공에서 파이썬을 활용하기 위한 목적으로 기획되었다. 이 책을 저술하면서 역점을 두었던 몇 가지는 다음과 같다.
- 파이썬 기초부터 심도 있는 내용까지를 다루려고 노력하였다.
- 다양한 그림을 사용하여 내용을 쉽게 이해할 수 있도록 노력하였다.
- 독자들이 흥미를 가질만한 예제(example)를 간추려서 제공하였다.
- 독자들이 다양하게 변형시켜보고 실험할 수 있는 주제는 Lab으로 제공하였고 도전할 수 있는 주제를 제시하였다.
- 독자들이 파이썬 기초를 학습한 후에, 다양한 라이브러리를 이용하여 작품을 만들 수 있도록 14장과 15장을 추가하였다.
14장에서는 데이터 과학을 위한 라이브러리들을 소개하였고 15장에서는 넘파이와 영상처리를 위한 라이브러리를 소개하였다.
Contents
Chapter 01 파이썬 소개
1. 프로그래밍 언어란?
2. 파이썬의 설치
3. 파이썬 실행
4. 스크립트 모드
[Lab] 간단한 계산을 해 보자
[Lab] 오류를 처리해 보자
5. 터틀 그래픽
[Lab] 터틀 그래픽으로 삼각형을 그려보자
[Lab] 예제 프로그램 실행해보기
[Mini Project] 터틀 그래픽으로 집 그리기
■ 요약
■ 연습문제
■ Programming
Chapter 02 변수와 자료형
1. 이번 장에서 작성할 프로그램
2. 변수
3. 변수의 이름
4. 자료형
5. 사용자로부터 입력받기
[Lab] 간단한 계산기
6. 주석과 상수
[Lab] 로봇 기자 만들기
[Lab] 사각형 그리기
[Solution] 사각형 그리기
[Mini Project] 거북이 조종하기
■ 요약
■ 연습문제
■ Programming
Chapter 03 수식과 연산자
1. 이번 장에서 작성할 프로그램
2. 산술 연산자
3. 할당 연산자
4. 관계 연산자
5. 비트 연산자
6. 연산자의 우선순위
7. 타입 변환과 반올림
[Lab] 산수 퀴즈 프로그램 Ver.1
[Lab] 단답형 문제 채점 프로그램
[Lab] 명왕성까지의 시간 계산하기
[Lab] 상점 계산기 만들기
[Lab] 복리 계산
[Lab] 자동판매기 프로그램
[Mini Project] 상점 계산기의 최종 버전 작성
■ 요약
■ 연습문제
■ Programming
Chapter 04 조건문
1. 이번 장에서 만들 프로그램
2. 제어문
3. if-else 문
4. 논리 연산자
5. 조건 연산자
[Lab] 산술 퀴즈 프로그램
[Lab] 동전 던지기 게임
[Lab] 로그인 프로그램
6. 중첩 if 문
7. 연속 if 문
[Lab] 지진 상황 출력하기
[Lab] 오늘의 운세 출력하기
[Lab] 도형 그리기
[Mini Project] 가위, 바위, 보 게임
■ 요약
■ 연습문제
■ Programming
Chapter 05 반복문
1. 이번 장에서 만들 프로그램
2. 왜 반복이 중요한가?
3. 리스트란?
4. 횟수 제어 반복
[Lab] 팩토리얼 계산하기
[Lab] n-각형 그리기
5. 조건 제어 반복
[Lab] 사용자가 입력하는 숫자의 합 계산하기
[Lab] 숫자 맞추기 게임
[Solution] 숫자 맞추기 게임
[Lab] 산수 문제 생성 프로그램
[Lab] 로그인 프로그램
6. 중첩 반복문
[Lab] 주사위 합이 6이 되는 경우
[Lab] 모든 조합 출력하기
7. 무한 루프와 break, continue
[Lab] 파이 계산하기
[Solution] 파이 계산하기
[Lab] 그래프 그리기
[Lab] 거북이를 랜덤하게 움직이게 하자
[Solution] 거북이를 랜덤하게 움직이게 하자
[Lab] 스파이럴 그리기
[Mini Project] 사용자의 숫자 알아맞추기
■ 요약
■ 연습문제
■ Programming
Chapter 06 함수
1. 이번 장에서 만들 프로그램
2. 함수란?
3. 함수 작성하고 호출하기
4. 여러 함수가 있는 프로그램
[Lab] 피자 크기 비교
5. 디폴트 매개 변수
6. 람다 함수
7. 함수를 사용하는 이유
[Lab] 사각형을 그리는 함수 작성하기
[Solution] 사각형을 그리는 함수 작성하기
[Lab] 구조화 프로그래밍 실습
[Solution] 구조화 프로그래밍 실습
[Lab] 로또 번호 생성하는 함수 작성
8. 변수의 범위
[Lab] 함수 그리기
[Mini Project] ATM 구현하기
■ 요약
■ 연습문제
■ Programming
Chapter 07 리스트
1. 이번 장에서 만들 프로그램
2. 리스트의 개요
3. 리스트 연산들
[Lab] 성적 처리 프로그램
4. 리스트 합병, 복제, 비교
5. 슬라이싱
6. 리스트 함축
[Lab] 주사위 시뮬레이션
7. 2차원 리스트
[Lab] 전치 행렬 계산
[Mini Project] 지뢰 찾기
[Mini Project] TIC-TAC-TOE 게임
■ 요약
■ 연습문제
■ Programming
Chapter 08 튜플, 세트, 딕셔너리
1. 이번 장에서 만들 프로그램
2. 자료구조란?
3. 튜플
4. 세트
[Lab] 간단한 표절 검사 프로그램
[Lab] 중복되지 않은 단어의 개수 세기
5. 딕셔너리
[Lab] 영한 사전
[Lab] 학생 성적 처리
[Mini Project] 주소록 작성
■ 요약
■ 연습문제
■ Programming
Chapter 09 문자열과 정규식
1. 이번 장에서 만들 프로그램
2. 문자열 처리하기
3. 문자열 메소드 사용하기
4. 정규식
[Lab] 이메일 주소를 찾아보자
[Lab] 패스워드 검사 프로그램
[Lab] 단어 카운터 만들기
[Mini Project] 단답형 퀴즈 프로그램 작성
■ 요약
■ 연습문제
■ Programming
Chapter 10 파일 입출력과 예외처리
1. 이번 장에서 만들 프로그램
2. 파일 입출력
[Lab] 행맨
[Solution] 행맨
3. CSV 파일
[Lab] 인구 데이터
4. 디렉토리 작업
[Lab] 디렉토리 안의 파일 처리
[Lab] 수학문제지 100개 만들기
5. 이진 파일
6. 객체 출력
7. 예외 처리
[Lab] 파일 암호화
[Solution] 파일 암호화
[Mini Project] 파일 압축
[Mini Project] 파일 암호화
■ 요약
■ 연습문제
■ Programming
Chapter 11 tkinter를 이용한 GUI 프로그래밍
1. 이번 장에서 만드는 프로그램
2. tkinter 시작하기
3. 기본 위젯들
4. 배치 관리자
[Lab] 카운터 만들기
[Lab] 온도 변환기
[Lab] 숫자 추측 게임
[Solution] 숫자 추측 게임
[Lab] 계산기 프로그램
[Solution] 계산기 프로그램
5. 화면에 그림 그리기
[Lab] 도형 그리기
[Solution] 도형 그리기
6. 마우스 이벤트 처리
[Lab] 그림판 프로그램 만들기
[Solution] 그림판 프로그램 만들기
7. 메뉴와 대화 상자
[Mini Project] 애니메이션
[Mini Project] TIC-TAC-TOE 게임
■ 요약
■ 연습문제
■ Programming
Chapter 12 클래스와 객체
1. 이번 장에서 만들 프로그램
2. 객체 지향 프로그래밍
3. 클래스 작성하기
[Lab] TV 클래스 정의
[Lab] 원 클래스 작성
4. 정보 은닉
[Lab] 은행 계좌
[Lab] 공 애니메이션 I
[Solution] 공 애니메이션 I
5. 객체 참조
[Lab] 공 애니메이션 II
[Solution] 공 애니메이션 II
6. 클래스 변수
7. 특수 메소드
8. 상속
[Lab] 특수 메소드
[Mini Project] 주사위 클래스 만들기
■ 요약
■ 연습문제
■ Programming
Chapter 13 PyGame을 이용한 게임작성
1. pygame을 이용한 게임 작성
2. 게임 설계
3. Step #1: 윈도우를 생성해 보자
4. Step #2: 우주선 표시하고 움직이기
5. Step #3: 외계 우주선 생성
6. Step #4: 미사일 만들기
7. Step #5: 충돌 감지
8. Step #6: 외계 우주선 많이 생성하기
1. 이번 장에서 만들 프로그램
2. 파이썬 라이브러리
3. 외부 라이브러리 설치하는 방법
4. Matplotlib로 그래프를 그려보자
5. 판다스로 데이터를 처리해 보자
[Lab] 판매 데이터 시각화
[Solution] 판매 데이터 시각화
6. 엑셀 파일 읽어서 마케팅 이메일 보내기
[Lab] 구매 홍보 이메일 보내기
[Solution] 구매 홍보 이메일 보내기
7. Request와 BeautifulSoup로 웹에서 데이터를 가져오자
[Lab] 우산 준비 이메일 보내기
8. 워드 클라우드 만들어보기
9. SQLite 데이터베이스 사용하기
[Lab] 데이터베이스 → 웹페이지
Chapter 15 Numpy, Pillow, Opencv 사용해보기
1. 이번 장에서 만들 프로그램
2. 넘파이로 데이터를 저장해 보자
[Lab] 싸인 함수 그리기
[Lab] 그래프 그리기
[Lab] 잡음이 들어간 직선 그리기
[Lab] 정규 분포 히스토그램 그리기
3. 필로우로 영상을 처리해 보자
[Lab] 미니 포토샵 만들기
[Solution] 미니 포토샵 만들기
4. 실전 프로젝트: 사진에 로고 삽입하기
5. OpenCV 맛보기
● 찾아보기
Author
천인국
서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.
1983年 서울대학교 전자공학과 공학사
1985年 한국과학기술원 전기및전자공학과 공학석사
1993年 한국과학기술원 전기및전자공학과 공학박사
1985年~1988年 삼성전자 종합연구소 주임 연구원
2005年 캐나다 UBC 방문 교수
1993年~현재 순천향대학교 컴퓨터 공학과 교수
대학교에서 컴퓨터공학을 가르치고 있습니다. 항상 더 이해하기 쉽고 재미있는 책을 만들기 위해서 고민하고 있습니다. 파이썬은 인공지능과도 연결되는 언어라 아주 중요하게 생각합니다. 만약 제 책으로 공부한 독자 중에 인공지능을 전공하는 분이 나온다면 너무 뿌듯할 것 같네요.
서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.
1983年 서울대학교 전자공학과 공학사
1985年 한국과학기술원 전기및전자공학과 공학석사
1993年 한국과학기술원 전기및전자공학과 공학박사
1985年~1988年 삼성전자 종합연구소 주임 연구원
2005年 캐나다 UBC 방문 교수
1993年~현재 순천향대학교 컴퓨터 공학과 교수
대학교에서 컴퓨터공학을 가르치고 있습니다. 항상 더 이해하기 쉽고 재미있는 책을 만들기 위해서 고민하고 있습니다. 파이썬은 인공지능과도 연결되는 언어라 아주 중요하게 생각합니다. 만약 제 책으로 공부한 독자 중에 인공지능을 전공하는 분이 나온다면 너무 뿌듯할 것 같네요.