분야별도서 > 프로그래밍 > 파이썬

분야별도서

어서와 파이썬은 처음이지! 2판

  • 저자천인국
  • 발행일2024-01-02
  • 정가33,000원
  • 페이지642 페이지
  • ISBN979-11-92373-26-3
  • 일반자료 소스파일 (Source File)
  • 책소개
  • 저자소개
  • 목차
  • 출판사 서평

알 만한 사람들은 다 아는 파이썬 베스트셀러,

어서와 파이썬은 처음이지!2판 출간!

파이썬 입문자들에게 많은 사랑을 받았던 어서와 파이썬은 처음이지!7년만에 개정되었다. 2016년부터 지금까지 꾸준하게 선택받은 본서는, 파이썬의 가장 최신 버전을 반영하고 다음과 같은 부분을 보강하여 더욱 강력하게 돌아왔다.

첫 번째, 기존 예제와 LAB을 보강하고 업데이트하였다. 특히 다양한 외부 라이브러리를 활용해 볼 수 있는 LAB들이 추가되었다.

두 번째, IT 트렌드에 맞는 주제로 여러 라이브러리를 활용해 볼 수 있도록, 파이썬 라이브러리를 활용한 데이터 분석 내용을 추가하였다(13). 데이터 분석을 위한 필수 라이브러리인 넘파이(NumPy), 판다스(Pandas), 맷플롯립(MatplotLib)에 대해 설명하였고, 회귀 분석, 정규 분포, 애플 주식 데이터, 월별 매출 데이터 등을 시각화해 볼 수 있도록 하였다. 또한 경량 데이터베이스 엔진인 SQLite, 텍스트 빈도를 시각화할 수 있는 워드클라우드를 실습해 볼 수 있도록 구성하였다.

세 번째, 파이썬 라이브러리를 활용한 인공지능 내용 또한 추가하였다(14). 머신러닝, 딥러닝을 이해하기 위한 핵심 개념에 대해 설명하였고, 사이킷런을 이용하여 선형 회귀 분석을 구현하고 그래프로 시각화해 볼 수 있도록 하였다. 또한 딥러닝의 대표 라이브러리인 케라스(Keras)를 이용하여 XOR 학습, MNIST 숫자 인식을 구현해 볼 수 있도록 하였다.

기초에서 오는 실력,

처음부터 탄탄히 쌓아야 한다!

본서는 프로그래밍을 처음 시작하는 입문자나 새내기들이 겁먹지 않고 파이썬에 대해 확실히 알아갈 수 있도록 개념부터 활용까지 친절하게 설명하고 있다. 특히 140개의 LAB104개의 프로그래밍 실습 문제를 통해 파이썬을 많이 사용해 보고 배운 내용을 점검하여 샐 틈 없이 완벽한 습득을 돕는다. 마지막 15장에서는 파이게임을 이용해 직접 게임을 짜볼 수 있도록 내용을 구성하여, 앞 장에서 배운 파이썬의 모든 것을 활용하고 정리함과 동시에 쌓인 실력을 점검할 수 있도록 하였다.

내공 있고 숙련된 학습서로

파이썬을 더욱 재미있게!

파이썬은 재미있는 언어이다. 이렇게 재밌는 언어를 더욱 재미있게 만드는 것은 독자들로 하여금 꾸준히 따라올 수 있게 만드는 힘이고, 본서는 그런 내공을 충분히 가지고 있다. 어서와 파이썬은 처음이지! 2으로 학습한다면 15장의 슈팅 게임 정도는 웃으면서 짤 수 있으리라 기대된다. 요즘 같은 험난한 시대에 파이썬 같은 강력한 언어를 배워놓는 것은 독자들에게 든든한 힘이 될 것이다.



천인국


서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.

저서로는 인공지능 2(2023, 인피니티북스), HTML5+CSS3+자바스크립트로 배우는 웹프로그래밍 기초 2(2023, 인피니티북스), Power JAVA 3(2022, 인피니티북스), 인공지능(2020, 인피니티북스), 스크래치로 배우는 컴퓨팅 사고와 문제해결(2019, 인피니티북스), OpenCV를 이용한 디지털 영상처리(2019, 인피니티북스), Power Java Compact(2018, 인피니티북스), 어서와 C++는 처음이지!(2018, 인피니티북스), 문제해결과 컴퓨팅 사고(2017, 인피니티북스), 문제해결과 컴퓨팅 사고를 위한 스크래치(2017, 인피니티북스), 문제해결과 컴퓨팅 사고를 위한 파이썬(2017, 인피니티북스), 어서와 파이썬은 처음이지!(2016, 인피니티북스), 어서와 Java는 처음이지!(2015, 인피니티북스), 어서와 C언어는 처음이지!(2015, 인피니티북스), HTML5+CSS3+자바스크립트로 배우는 웹프로그래밍 기초(2014, 인피니티북스), C++ Espresso(2010, 인피니티북스), Power C++(2010, 인피니티북스), 쉽게 풀어쓴 C언어 Express(2007, 생능출판사), C언어로 쉽게 풀어쓴 자료구조(2005, 생능출판사) 등이 있다.

CHAPTER 01 파이썬 소개

1 프로그램과 프로그래밍 언어

2 파이썬 소개

3 파이썬 설치하기

4 첫 번째 프로그램 작성하여 실행하기

5 스크립트 모드

LAB 01 print() 함수 실습

6 터틀 그래픽

LAB 02 터틀 그래픽으로 삼각형 그리기

LAB 03 예제 프로그램 실행하기

7 외부 라이브러리 설치하는 방법

LAB 04 Pillow 라이브러리를 설치하고 사용하기

8 파이썬 튜터

핵심 정리

프로그래밍 실습

CHAPTER 02 변수와 계산

1 이번 장에서 작성할 프로그램

2 변수의 소개

3 변수와 상수

4 산술 연산자와 비교 연산자

5 연산자의 우선순위

LAB 01 복리 계산

6 함수 호출이란?

7 input() 함수 사용하기

LAB 02 간단한 계산기 만들기

LAB 03 사각형 그리기

8 데이터 타입

LAB 04 태양빛이 지구에 도달하는 시간 계산

9 문자열

LAB 05 로봇 기자 만들기

LAB 06 영어 약어 만들기

10 리스트

LAB 07 최고 성적과 최저 성적 찾기

11 파이썬에서의 변수 개념(고급)

LAB 08 산수 퀴즈 프로그램 Ver.1

LAB 09 단답형 문제 채점 프로그램 만들기

핵심 정리

프로그래밍 실습

CHAPTER 03 선택

1 이번 장에서 작성할 프로그램

2 조건문

LAB 01 수하물 비용 계산

LAB 02 홀수 짝수 구별

3 블록

LAB 03 물건값 계산

LAB 04 임금 계산

4 논리 연산자

LAB 05 졸업 조건 검사

LAB 06 윤년 판단

5 중첩 if-else

LAB 07 회원 등급 결정

LAB 08 팁 결정

LAB 09 숫자 한글

LAB 10 달의 일수 출력

LAB 11 이차 방정식 계산

LAB 12 로봇 시뮬레이터 만들기

6 if 문과 연산자 in

LAB 13 로그인 프로그램 만들기

LAB 14 도형 그리기

LAB 15 숫자 맞추기 게임 만들기

LAB 16 가위 바위 보 게임 만들기

LAB 17 사각형 충돌 검사

LAB 18 신호등 시뮬레이터 만들기

LAB 19 현재 시간 알아내기

핵심 정리

프로그래밍 실습

CHAPTER 04 반복

1 이번 장에서 작성할 프로그램

2 반복의 필요성

3 for

LAB 01 정수들의 합 계산

LAB 02 팩토리얼 계산

LAB 03 온도 변환 테이블 출력

LAB 04 화면에 별 그리기

LAB 05 화면에 다각형 그리기

LAB 06 화면에 여러 개의 사각형 그리기

LAB 07 사인 그래프 그리기

4 while

LAB 08 평균 점수 계산

LAB 09 투자 금액 계산

LAB 10 입력 단어 저장

LAB 11 자릿수의 합 계산

LAB 12 최대 공약수 알아내기

LAB 13 숫자 맞추기 게임 만들기

5 중첩 루프

LAB 14 다양한 색상의 사각형 그리기

6 문자열 처리하기

LAB 15 알파벳, 숫자, 스페이스의 개수 출력

LAB 16 주사위 합의 확률 계산

LAB 17 파이 계산

핵심 정리

프로그래밍 실습

CHAPTER 05 함수

1 이번 장에서 작성할 프로그램

2 함수란?

3 함수의 정의

LAB 01 생일 축하 함수

LAB 02 팩토리얼 함수

LAB 03 온도 변환 함수

LAB 04 소수 찾기

LAB 05 구의 부피 계산 함수

LAB 06 육각형 그리기

LAB 07 패스워드 생성기 만들기

4 디폴트 인자와 키워드 인자

LAB 08 키워드 인자 연습

LAB 09 주문 처리 함수

LAB 10 입력 검증

5 변경 불가능 객체와 변경 가능 객체

6 지역 변수와 전역 변수

LAB 11 매개변수 = 지역 변수

LAB 12 상수를 전역 변수로 선언하기

7 여러 개의 값 반환하기

LAB 13 여러 개의 값 반환

8 익명 함수(람다식)

9 순환이란?

LAB 14 프랙탈 그래픽 만들기

10 함수를 사용한 프로그램 설계

핵심 정리

프로그래밍 실습

CHAPTER 06 리스트

1 이번 장에서 작성할 프로그램

2 리스트란?

LAB 01 점수 처리 프로그램

LAB 02 문자열 처리 프로그램

3 시퀀스 데이터 타입

4 인덱싱과 슬라이싱

5 리스트의 기초 연산들

LAB 03 리스트 처리

6 리스트 비교, 정렬, 복사

7 리스트와 함수

8 리스트 함축

LAB 04 피타고라스의 삼각형

LAB 05 연락처 관리 프로그램 만들기

9 2차원 리스트

LAB 06 2개의 주사위

LAB 07 Tic-Tac-Toe 게임 만들기

LAB 08 지뢰 찾기 게임 만들기

핵심 정리

프로그래밍 실습

CHAPTER 07 튜플, 세트, 딕셔너리, 문자열

1 이번 장에서 작성할 프로그램

2 자료구조란?

3 튜플

LAB 01 함수의 튜플 반환 예제

4 세트

LAB 02 파티 동시 참석자 알아내기

LAB 03 중복되지 않은 단어의 개수

5 딕셔너리

LAB 04 영한 사전 만들기

LAB 05 이전값 기억시키기

LAB 06 희소 행렬 표현

LAB 07 딕셔너리를 이용한 그래픽

6 문자열

LAB 08 회문 검사하기

LAB 09 암호문 만들기

LAB 10 이메일 주소 분석

LAB 11 문자열 분석

LAB 12 단어 카운터 만들기

LAB 13 축약어 풀어쓰기

LAB 14 글자 빈도수 세기

핵심 정리

프로그래밍 실습

CHAPTER 08 tkinter를 이용한 GUI 프로그래밍

1 이번 장에서 작성할 프로그램

2 tkinter?

3 tkinter의 위젯들

4 배치 관리자

LAB 01 버튼 랜덤 배치

5 이벤트 처리

6 색상과 폰트

LAB 02 로그인 원도우 만들기

LAB 03 수식 계산기 만들기

LAB 04 버튼 계산기 만들기

LAB 05 숫자 추측 게임 만들기

LAB 06 스톱워치 만들기

7 캔버스 위젯

LAB 07 사용자에게 색상 물어보기

LAB 08 랜덤한 사각형 그리기

LAB 09 마우스로 그림 그리기

8 애니메이션

LAB 10 GUI를 사용한 Tic-Tac-Toe 게임 만들기

핵심 정리

프로그래밍 실습

CHAPTER 09 클래스와 객체

1 이번 장에서 작성할 프로그램

2 객체지향 프로그래밍이란?

3 클래스 작성하기

4 생성자

5 메소드 정의

6 정보 은닉

LAB 01 원 클래스

LAB 02 은행 계좌 클래스

LAB 03 고양이 클래스

LAB 04 자동차 클래스

7 객체를 함수로 전달할 때

8 클래스 변수

LAB 05 게시글 클래스

9 연산자 오버로딩

LAB 06 in 연산자와 __eq__()

LAB 07 Student 객체 비교

10 파이썬에서의 변수의 종류

LAB 08 꽃 그리기

핵심 정리

프로그래밍 실습

CHAPTER 10 내장 함수와 모듈

1 이번 장에서 작성할 프로그램

2 내장 함수

LAB 01 내장 함수 all()any()

LAB 02 내장 함수 map()filter()

LAB 03 내장 함수 zip()

3 파이썬에서 정렬하기

LAB 04 key를 이용한 정렬

4 이터레이터와 제너레이터

LAB 05 피보나치 이터레이터 클래스

5 모듈이란?

LAB 06 사용자 정의 모듈 실습

6 유용한 모듈

LAB 07 파일 확장자 수정

LAB 08 교환 가능 여부 확인

LAB 09 단어 퀴즈 만들기

Mini Project 01 파일 작업 프로그램

Mini Project 02 통계 GUI 프로그램

핵심 정리

프로그래밍 실습

CHAPTER 11 상속과 다형성

1 이번 장에서 작성할 프로그램

2 상속의 개념

3 부모 클래스 생성자 호출하기

4 메소드 오버라이딩

LAB 01 Sportscar 클래스

LAB 02 도형 간의 상속 프로그램

LAB 03 학생과 선생님

LAB 04 직원과 매니저

5 다형성

LAB 05 VehicleCar, Truck

LAB 06 파티클 애니메이션 만들기

6 object 클래스

7 클래스 관계

LAB 07 CardDeck

핵심 정리

프로그래밍 실습

CHAPTER 12 파일과 예외 처리

1 이번 장에서 작성할 프로그램

2 파일이란?

3 파일 열기 및 닫기

LAB 01 매출 파일 처리

4 텍스트 입출력 기법

LAB 02 스페이스와 탭의 개수 세기

LAB 03 줄 앞에 번호 붙이기

LAB 04 각 문자 횟수 세기

LAB 05 CSV 파일 읽기

LAB 06 파일 암호화

5 이진 파일과 임의 접근 파일

LAB 07 이미지 파일 복사하기

6 예외 처리

LAB 08 예외 처리 실습

LAB 09 이미지 표시 프로그램 만들기

Mini Project 01 일기장 프로그램

핵심 정리

프로그래밍 실습

CHAPTER 13 넘파이와 판다스를 이용한 데이터 분석

1 이번 장에서 작성할 프로그램

2 파이썬 라이브러리

3 넘파이

4 맷플롯립으로 그래프를 그려보자

LAB 01 회귀 분석

LAB 02 정규 분포 시각화

5 판다스

LAB 03 판매 데이터 시각화

LAB 04 판다스를 이용한 데이터 처리 및 분석

LAB 05 주식 데이터 시각화

6 SQLite 데이터베이스 사용하기

LAB 06 월별 매출 데이터 시각화

7 워드 클라우드 만들어보기

LAB 07 SNS 게시글 텍스트 워드 클라우드

핵심 정리

프로그래밍 실습

CHAPTER 14 케라스를 이용한 머신러닝

1 이번 장에서 작성할 프로그램

2 머신러닝

3 머신러닝의 분류

4 머신러닝의 요소들

5 선형 회귀 분석

LAB 01 선형 회귀 실습

6 신경망

LAB 02 신경망 시뮬레이터

7 케라스

LAB 03 XOR 연산 학습

8 케라스를 이용한 MNIST 숫자 인식

LAB 04 케라스 실습

핵심 정리

프로그래밍 실습

CHAPTER 15 파이게임을 이용한 게임 작성

1 파이게임

2 게임 설계

3 Step #1: 윈도우를 생성해 보자

4 Step #2: 플레이어 우주선 만들기

5 Step #3: 외계인 우주선 생성

6 Step #4: 총알 만들기

7 Step #5: 충돌 감지

8 Step #6: 사운드 생성

9 전체 소스 코드

핵심 정리

프로그래밍 실습

인공지능 시대에 꼭 필요한 파이썬,

쉽고 완벽하게 배우고 싶다면?

최근에 등장한 ChatGPT와 같은 인공지능에 우리는 깜짝 놀라고 있다. Dall-E 같은 생성형 AI들은 인간의 창의성에도 도전하고 있다. 이렇게 인공지능이 발전하면 프로그래머도 필요 없게 될까? 인공지능의 발전으로 프로그래머의 역할은 변할 수 있지만 완전히 없어지는 것은 절대아니다. 인공지능으로 특정 작업을 자동화하여 잡무에서는 해방시켜 주겠지만, 창의성과 융합된 아이디어가 필요한 부분에서는 아직까지 인간의 개입이 필요하다.

본서는 독자들이 인공지능 시대에 발맞춰 나갈 수 있도록, 이 시대에 꼭 필요한 파이썬에 대하여 설명하고 있다. 파이썬의 기초뿐만 아니라 파이썬이 많이 사용되는 핵심 응용 분야를 간단히 설명하였고, 실습할 수 있도록 실습 예제(LAB)들을 제시하였다. 또한 도전문제를 추가하여 제시된 소스 코드를 바탕으로 추가 실습이 가능하도록 하였고, 혼자서도 학습이 가능하게끔 ‘NOTE’, ‘참고 사항’, ‘중간 점검박스들을 적절히 배치하여 궁금했던 부분을 보충할 수 있도록 하였다. 더불어 데이터 과학에 필수적인 넘파이와 판다스의 기초를 소개하였으며, 요즘 화두로 떠오르는 머신러닝, 딥러닝 분야를 케라스 라이브러리를 이용하여 소개하였다.

독자들이 최대한 쉽고 완벽하게 파이썬을 습득하도록 구성한 어서와 파이썬은 처음이지! 2과 함께 공부한다면, 두려웠던 파이썬이 어느새 든든한 친구로 자리매김하고 있을 것이다.