중고등학생도, 비전공자도, 직장인도 프로그래밍에 눈뜨게 만든 바로 그 책이 전면 개정 2판으로 새롭게 태어났다! 챗GPT를 시작으로 펼쳐진 생성 AI 시대에 맞춰 설명과 예제를 다듬고, 최신 경향과 심화 내용을 보충했다. 또한 이번 개정 2판도 50만 코딩 유튜버인 조코딩과 협업을 통해 유튜브 동영상을 제공해 파이썬을 더 쉽게 공부할 수 있다.
8년 연속 베스트셀러! 위키독스 누적 방문 300만! 독자의 입에서 입으로 전해진 추천과 수많은 대학 및 학원의 교재 채택을 통해 검증은 이미 끝났다. 코딩을 처음 배우는 중고등학생부터 코딩 소양을 기르려는 비전공자, 자기계발에 진심인 직장인까지! 이 책과 함께 파이썬 프로그래밍의 세계로 ‘점프’해 보자!
저자소개
국내 저자로는 최초로 2001년, 파이썬 안내서인 《점프 투 파이썬》을 출간하였다. 이후 직접 제작한 온라인 서비스 위키독스에서 온라인 독자와 소통하며 10년 동안 책을 다듬었고, 이 내용을 담아 2016년 《Do it! 점프 투 파이썬》을 출간하였다. 《Do it! 점프 투 파이썬》은 출간 후 지금까지 파이썬 분야는 물론 전체 프로그래밍 분야에서 1위를 꾸준히 유지하며 많은 독자를 프로그래밍의 세계에 입문시켰다. 이번 전면 개정에서는 출간 후 약 4년 동안의 피드백을 반영하여 초보자가 더 빠르게 입문하고, 더 깊이 있게 공부할 수 있도록 책을 재구성하였다. 프로그래밍 및 IT 관련 지식을 공유하는 위키독스(https://wikidocs.net)와 프로그래밍 문제풀이를 통해 코딩 실력과 알고리즘을 수련하는 코딩 도장(http://codingdojang.com) 서비스도 운영하고 있다. 현재는 뱅킹 프로그램을 만들며 프로그래머의 삶을 살고 있다.
목차
첫째마당 파이썬 기초 익히기
01장 파이썬이란 무엇인가? __01-1 파이썬이란? __01-2 파이썬의 특징 ____파이썬은 인간다운 언어이다 ____문법이 쉬워 빠르게 배울 수 있다 ____무료이지만 강력하다 ____간결하다 ____프로그래밍을 즐기게 해 준다 ____개발 속도가 빠르다 __01-3 파이썬으로 무엇을 할 수 있을까? ____파이썬으로 할 수 있는 일 ____파이썬으로 할 수 없는 일 __01-4 파이썬 설치하기 ____윈도우에서 파이썬 설치하기 ____맥에서 파이썬 설치하기 __01-5 파이썬 둘러보기 ____파이썬 기초 실습 준비하기 ____파이썬 기초 문법 따라 해 보기 __01-6 파이썬과 에디터 ____IDLE 에디터로 파이썬 프로그램 작성하기 ____명령 프롬프트 창에서 파이썬 프로그램 실행하기 ____추천하는 에디터
02장 파이썬 프로그래밍의 기초, 자료형 __02-1 숫자형 ____숫자형은 어떻게 만들고 사용할까? ____숫자형을 활용하기 위한 연산자 __02-2 문자열 자료형 ____문자열은 어떻게 만들고 사용할까? ____문자열 안에 작은따옴표나 큰따옴표를 포함시키고 싶을 때 ____여러 줄인 문자열을 변수에 대입하고 싶을 때 ____문자열 연산하기 ____문자열 인덱싱과 슬라이싱 ____문자열 포매팅이란? ____문자열 포매팅 따라 하기 ____문자열 포맷 코드 ____포맷 코드와 숫자 함께 사용하기· ____format 함수를 사용한 포매팅 ____f 문자열 포매팅 ____문자열 관련 함수들 __02-3 리스트 자료형 ____리스트는 어떻게 만들고 사용할까? ____리스트의 인덱싱과 슬라이싱 ____리스트 연산하기 ____리스트의 수정과 삭제 ____리스트 관련 함수 __02-4 튜플 자료형 ____튜플은 어떻게 만들까? ____튜플의 요솟값을 지우거나 변경하려고 하면 어떻게 될까? ____튜플 다루기 __02-5 딕셔너리 자료형 ____딕셔너리란? ____딕셔너리는 어떻게 만들까? ____딕셔너리 쌍 추가, 삭제하기 ____딕셔너리를 사용하는 방법 ____딕셔너리 관련 함수 __02-6 집합 자료형 ____집합 자료형은 어떻게 만들까? ____집합 자료형의 특징 ____교집합, 합집합, 차집합 구하기 ____집합 자료형 관련 함수 __02-7 불 자료형 ____불 자료형은 어떻게 사용할까? ____자료형의 참과 거짓 ____불 연산 __02-8 자료형의 값을 저장하는 공간, 변수 ____변수는 어떻게 만들까? ____변수란? ____리스트를 복사하고자 할 때 ____변수를 만드는 여러 가지 방법 02장 되새김 문제
03장 프로그램의 구조를 쌓는다! 제어문 __03-1 if 문 ____if 문은 왜 필요할까? ____if 문의 기본 구조 ____들여쓰기 방법 알아보기 ____조건문이란 무엇인가? ____다양한 조건을 판단하는 elif ____조건부 표현식 __03-2 while 문· ____while 문의 기본 구조 ____while 문 강제로 빠져나가기 ____while 문의 맨 처음으로 돌아가기 ____무한 루프 __03-3 for 문 ____for 문의 기본 구조 ____예제를 통해 for 문 이해하기 ____for 문과 continue 문 ____for 문과 함께 자주 사용하는 range 함수 ____리스트 컴프리헨션 사용하기 03장 되새김 문제
04장 파이썬의 입출력 __04-1 함수 ____함수란 무엇인가? ____함수를 사용하는 이유는 무엇일까? ____파이썬 함수의 구조 ____매개변수와 인수 ____입력값과 리턴값에 따른 함수의 형태 ____매개변수를 지정하여 호출하기 ____입력값이 몇 개가 될지 모를 때는 어떻게 해야 할까? ____키워드 매개변수, kwargs ____함수의 리턴값은 언제나 하나이다 ____매개변수에 초깃값 미리 설정하기 ____함수 안에서 선언한 변수의 효력 범위 ____함수 안에서 함수 밖의 변수를 변경하는 방법 ____lambda 예약어 __04-2 사용자 입출력 ____사용자 입력 활용하기 ____print 자세히 알기 __04-3 파일 읽고 쓰기 ____파일 생성하기 ____파일을 쓰기 모드로 열어 내용 쓰기 ____파일을 읽는 여러 가지 방법 ____파일에 새로운 내용 추가하기 ____with 문과 함께 사용하기 __04-4 프로그램의 입출력 ____sys 모듈 사용하기 04장 되새김 문제
05장 파이썬 날개 달기 __05-1 클래스 ____클래스는 왜 필요한가? ____클래스와 객체 ____생성자 ____클래스의 상속 ____메서드 오버라이딩 ____클래스 변수 __05-2 모듈 ____모듈 만들기 ____if __name__ == "__main__": 의 의미 ____클래스나 변수 등을 포함한 모듈 ____다른 파일에서 모듈 불러오기 ____다른 디렉터리에 있는 모듈을 불러오는 방법 __05-3 패키지 ____패키지 만들기 ____패키지 안의 함수 실행하기 ______init__.py 의 용도 ____relative 패키지 __05-4 예외 처리 ____오류는 언제 발생하는가?· ____오류 예외 처리 기법 ____오류 회피하기 ____오류 일부러 발생시키기 ____예외 만들기 __05-5 내장 함수 ____abs ____all ____any ____chr ____dir ____divmod ____enumerate ____eval ____filter ____hex ____id ____input ____int ____isinstance ____len ____list ____map ____max ____min ____oct ____open ____ord ____pow ____range ____round ____sorted ____str ____sum ____tuple ____type ____zip __05-6 표준 라이브러리 ____datetime.date· ____time ____math.gcd ____math.lcm ____random ____itertools.zip_longest ____itertools.combination ____functools.reduce ____operator.itemgetter ____shutil ____glob ____pickle ____os ____threading ____tempfile ____traceback ____json ____urllib ____webbrowser __05-7 외부 라이브러리 ____pip ____Faker ____sympy 05장 되새김 문제
둘째마당 파이썬 실력 키우기
06장 파이썬 프로그래밍, 어떻게 시작해야 할까? __06-1 내가 프로그램을 만들 수 있을까? __06-2 3과 5의 배수를 모두 더하기 __06-3 게시판 페이징하기 __06-4 간단한 메모장 만들기 __06-5 탭 문자를 공백 문자 4개로 바꾸기 __06-6 하위 디렉터리 검색하기
07장 파이썬 날아오르기 __07-1 파이썬과 유니코드 ____최초의 문자 셋, 아스키코드 ____유니코드의 등장 ____유니코드로 문자열 다루기 __07-2 클로저와 데코레이터 ____클로저란? ____데코레이터란? __07-3 이터레이터와 제너레이터 ____이터레이터란? ____이터레이터 만들기 ____제너레이터란? ____제너레이터 표현식 ____제너레이터와 이터레이터 ____제너레이터 활용하기 __07-4 파이썬 타입 어노테이션 ____동적 언어와 정적 언어 ____파이썬 타입 어노테이션
08장 정규 표현식 __08-1 정규 표현식 살펴보기 ____정규 표현식은 왜 필요한가? __08-2 정규 표현식 시작하기 ____정규 표현식의 기초, 메타 문자 ____파이썬에서 정규 표현식을 지원하는 re 모듈 ____정규식을 이용한 문자열 검색 ____match 객체의 메서드 ____컴파일 옵션 ____역슬래시 문제 __08-3 강력한 정규 표현식의 세계로 ____문자열 소비가 없는 메타 문자 ____그루핑 ____전방 탐색 ____문자열 바꾸기 ____greedy와 non-greedy
부록 __Do it! 파이썬 코딩 면허 시험 20제 __Do it! 챗GPT와 함께 파이썬 공부하기