책 소개
기초를 단단히 다지는
파이썬 입문서
입문자를 위한 파이썬 책은 많습니다. 모두 쉽게 쓰여졌다고, 빨리 배울 수 있다고 강조합니다.
하지만 그 책을 읽는다고 해서 바로 프로그램을 작성할 수 있는 것은 아닙니다.
바로 프로그래머가 될 수 있는 것도 아니죠.
쉽게 배우는 것이 최선일까요? 빨리 배우는 것이 목표인가요?
그보다 중요한 것은 ‘제대로’ 배우는 것입니다.
이 책은 파이썬을 쉽고, 재미있게 배우는 것을 넘어서 스스로 프로그램을 작성할 수 있는 역량을 쌓고,
프로그래머가 되기 위한 기초를 단단히 다지는 것을 목표로 합니다.
이제, 파이썬을 ‘제대로’ 배워봅시다.
파이썬 입문서
입문자를 위한 파이썬 책은 많습니다. 모두 쉽게 쓰여졌다고, 빨리 배울 수 있다고 강조합니다.
하지만 그 책을 읽는다고 해서 바로 프로그램을 작성할 수 있는 것은 아닙니다.
바로 프로그래머가 될 수 있는 것도 아니죠.
쉽게 배우는 것이 최선일까요? 빨리 배우는 것이 목표인가요?
그보다 중요한 것은 ‘제대로’ 배우는 것입니다.
이 책은 파이썬을 쉽고, 재미있게 배우는 것을 넘어서 스스로 프로그램을 작성할 수 있는 역량을 쌓고,
프로그래머가 되기 위한 기초를 단단히 다지는 것을 목표로 합니다.
이제, 파이썬을 ‘제대로’ 배워봅시다.
작가 소개
저 : 윤인성
출근하는 게 싫어서 책을 집필/번역하기 시작했다. 일본어는 픽시브에서 웹 코믹을 읽다가 배웠다고 전해진다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하는 성격이기도 하다. 홍차와 커피를 좋아하며 요리, 음악, 그림, 스컬핑 등이 취미다. 『모던 웹을 위한 JavaScript+jQuery 입문』 『모던 웹을 위한 Node.js 프로그래밍』 『모던 웹 디자인을 위한 HTML5+CSS3 입문』 등을 저술하였으며, 『파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문』 『스위프트로 시작하는 아이폰 앱 개발 교과서』 『모던 웹사이트 디자인의 정석』 『유니티 게임 이펙트 입문』(이상 위키북스), 『실전 게임 제작으로 배우는 언리얼 엔진 4』 『TopCoder 알고리즘 트레이닝』 『Nature of Code』(이상 한빛미디어), 『소셜 코딩으로 이끄는 GitHub 실천 기술』(제이펍) 등을 번역했다.
목 차
Part 1. 프로그래밍의 기본 익히기
Chapter 1. 파이썬 개발 환경 준비
__01 파이썬
__02 개발 환경
__03 파이썬 설치하기
____파이썬 설치 프로그램 다운받기
____파이썬 설치하기
__04 텍스트 에디터 설치하기
____비주얼 스튜디오 코드 다운받기
____비주얼 스튜디오 코드 설치하기
__05 Hello Coding Python
____윈도우에서 파일 만들기
____Visual Studio Code 확장 프로그램 설치하기
____실행하기
Chapter 2. 파이썬의 기본
__01 용어 정리
____표현식과 문장
____키워드
____식별자
____주석
__02 출력
__03 문자열
____큰따옴표로 문자열 만들기
____작은따옴표로 문자열 만들기
__04 이스케이프 문자
____문자열 내부에 따옴표 넣기
____큰따옴표와 작은따옴표
____기타 이스케이프 문자
__05 여러 줄 문자열 만들기
__06 문자열 연산자
____문자열 연결 연산자
____문자열 반복 연산자
____문자 선택 연산자
____문자열 범위 선택 연산자
__07 문자열의 길이 구하기
__08 자료형 확인하기
__09 숫자
____숫자 만들기
____숫자의 종류
__10 숫자 연산자
____사칙 연산자
____나머지 연산자
____제곱 연산자
____연산자의 우선순위
__11 변수
__12 복합 대입 연산자
__13 입력
____기본 입력
____입력 자료형
__14 문자열을 숫자로 바꾸기
__15 숫자를 문자열로 바꾸기
__16 조금 더 나아가기
____문자열의 format( ) 함수
____문자열의 추가적인 기능
Chapter 3. 조건문
__01 불
____불 만들기: 비교 연산자
____불 연산하기: 논리 연산자
____논리 연산자 활용
__02 if 조건문
____기본 형태
____날짜/시간 활용하기
____컴퓨터의 조건
__03 else 구문
____if 조건문만 사용할 때의 문제
____else 조건문 활용
__04 elif 구문
__05 조금 더 나아가기
____if 조건문을 효율적으로 사용하기
____False로 변환되는 값
____pass 키워드
Chapter 4. 반복문
__01 개요
__02 리스트
____리스트 선언하기
____리스트 연산자
____리스트에 요소 추가하기
____리스트의 요소 제거하기
____리스트 내부에 있는지 확인하기
__03 for 반복문: 리스트와 함께 사용하기
__04 딕셔너리
____딕셔너리 선언하기
____딕셔너리에 요소 추가하기
____딕셔너리의 요소 제거하기
____딕셔너리 내부에 키가 있는지 확인하기
__05 for 반복문: 딕셔너리와 함께 사용하기
__06 범위
__07 for 반복문: 범위와 함께 사용하기
____기본
____리스트, 범위, for 반복문 조합하기
____반대로 반복하기
__08 while 반복문
____기본 형태
____for 반복문처럼 사용해보기
____리스트의 요소 모두 제거하기
____시간을 기반으로 반복하기
__09 break 키워드와 continue 키워드
____break 키워드
____continue 키워드
__10 조금 더 나아가기
____파괴적 함수와 비파괴적 함수
____구문이 사용되었을 때의 여러 줄 문자열
____리스트로 변환하기
____리스트, 문자열, 범위, 딕셔너리와 함께 사용하는 함수
____리스트 내포
Chapter 5. 함수
__01 함수 용어 정리
__02 함수 기본
__03 매개변수
____매개변수 기본
____매개변수 오류
____가변 매개변수 함수
____기본 매개변수
____키워드 매개변수
__04 리턴
____리턴 기본
____자료와 함께 리턴하기
__05 기본적인 함수
__06 재귀 함수
____반복문으로 팩토리얼 구하기
____재귀 함수로 팩토리얼 구하기
__07 메모화
____재귀 함수의 문제
____메모화
__08 튜플
____튜플을 사용한 할당
____튜플을 사용한 여러 값 리턴
__09 조금 더 나아가기
____람다
____파일 처리
____혼자 공부하기
____코드에 이름 붙이기
____코드 유지보수
Chapter 6. 예외 처리
__01 구문 오류와 예외
____구문 오류
____예외
__02 기본 예외 처리
____예외 상황
____조건문으로 예외 처리하기
__03 try except 구문
__04 try except else 구문
__05 finally 구문
__06 예외 객체
__07 예외 구분하기
____여러 가지 예외가 발생할 수 있는 상황
____예외 구분하기
____모든 예외 잡기
__08 강제로 예외 발생시키기
__09 조금 더 나아가기
____finally 키워드를 사용하는 이유
____다양한 코드 살펴보기
Part 2. 프로그래밍의 활용하기
Chapter 7. 표준 모듈
__01 모듈 사용 기본 - math 모듈
____import 구문
____모듈 문서
____from 구문
____as 구문
__02 random 모듈
__03 sys 모듈
__04 os 모듈
__05 datetime 모듈
__06 time 모듈
__07 urllib 모듈
__08 조금 더 나아가기
____재귀 함수로 폴더 내부의 모든 파일 확인하기
____텍스트 데이터
____바이너리 데이터
____인코딩과 디코딩
____텍스트 데이터와 바이너리 데이터
____인터넷의 이미지 저장하기
Chapter 8. 외부 모듈
__01 외부 모듈 설치하기
____모듈 설치하기
____모듈 찾아보기
__02 Beautiful Soup 모듈
__03 Flask 모듈
__04 조금 더 나아가기
____라이브러리와 프레임워크
Chapter 9. 모듈
__01 모듈 만들기
__02 __name_ _ == "__main_ _"
____ __name__
모듈의 __name__
____ __name__ 활용하기
__03 패키지
____패키지 만들어보기
____ __init__.py 파일
Chapter 10. 클래스
__01 개요
__02 객체
__03 클래스 기본
__04 생성자
__05 메서드
__06 어떤 클래스의 인스턴스인지 확인하기
__07 특수한 이름의 메서드
__08 클래스 변수와 함수
____클래스 변수
____클래스 함수
__09 조금 더 나아가기
____가비지 컬렉터
____프라이빗 변수와 겟터/셋터
____상속
____예외 클래스 만들기
__10 마지막으로
부록
__appendix A 명령 프롬프트 기본
__appendix B 제네레이터
__appendix C 정규 표현식
__appendix D 데코레이터
Chapter 1. 파이썬 개발 환경 준비
__01 파이썬
__02 개발 환경
__03 파이썬 설치하기
____파이썬 설치 프로그램 다운받기
____파이썬 설치하기
__04 텍스트 에디터 설치하기
____비주얼 스튜디오 코드 다운받기
____비주얼 스튜디오 코드 설치하기
__05 Hello Coding Python
____윈도우에서 파일 만들기
____Visual Studio Code 확장 프로그램 설치하기
____실행하기
Chapter 2. 파이썬의 기본
__01 용어 정리
____표현식과 문장
____키워드
____식별자
____주석
__02 출력
__03 문자열
____큰따옴표로 문자열 만들기
____작은따옴표로 문자열 만들기
__04 이스케이프 문자
____문자열 내부에 따옴표 넣기
____큰따옴표와 작은따옴표
____기타 이스케이프 문자
__05 여러 줄 문자열 만들기
__06 문자열 연산자
____문자열 연결 연산자
____문자열 반복 연산자
____문자 선택 연산자
____문자열 범위 선택 연산자
__07 문자열의 길이 구하기
__08 자료형 확인하기
__09 숫자
____숫자 만들기
____숫자의 종류
__10 숫자 연산자
____사칙 연산자
____나머지 연산자
____제곱 연산자
____연산자의 우선순위
__11 변수
__12 복합 대입 연산자
__13 입력
____기본 입력
____입력 자료형
__14 문자열을 숫자로 바꾸기
__15 숫자를 문자열로 바꾸기
__16 조금 더 나아가기
____문자열의 format( ) 함수
____문자열의 추가적인 기능
Chapter 3. 조건문
__01 불
____불 만들기: 비교 연산자
____불 연산하기: 논리 연산자
____논리 연산자 활용
__02 if 조건문
____기본 형태
____날짜/시간 활용하기
____컴퓨터의 조건
__03 else 구문
____if 조건문만 사용할 때의 문제
____else 조건문 활용
__04 elif 구문
__05 조금 더 나아가기
____if 조건문을 효율적으로 사용하기
____False로 변환되는 값
____pass 키워드
Chapter 4. 반복문
__01 개요
__02 리스트
____리스트 선언하기
____리스트 연산자
____리스트에 요소 추가하기
____리스트의 요소 제거하기
____리스트 내부에 있는지 확인하기
__03 for 반복문: 리스트와 함께 사용하기
__04 딕셔너리
____딕셔너리 선언하기
____딕셔너리에 요소 추가하기
____딕셔너리의 요소 제거하기
____딕셔너리 내부에 키가 있는지 확인하기
__05 for 반복문: 딕셔너리와 함께 사용하기
__06 범위
__07 for 반복문: 범위와 함께 사용하기
____기본
____리스트, 범위, for 반복문 조합하기
____반대로 반복하기
__08 while 반복문
____기본 형태
____for 반복문처럼 사용해보기
____리스트의 요소 모두 제거하기
____시간을 기반으로 반복하기
__09 break 키워드와 continue 키워드
____break 키워드
____continue 키워드
__10 조금 더 나아가기
____파괴적 함수와 비파괴적 함수
____구문이 사용되었을 때의 여러 줄 문자열
____리스트로 변환하기
____리스트, 문자열, 범위, 딕셔너리와 함께 사용하는 함수
____리스트 내포
Chapter 5. 함수
__01 함수 용어 정리
__02 함수 기본
__03 매개변수
____매개변수 기본
____매개변수 오류
____가변 매개변수 함수
____기본 매개변수
____키워드 매개변수
__04 리턴
____리턴 기본
____자료와 함께 리턴하기
__05 기본적인 함수
__06 재귀 함수
____반복문으로 팩토리얼 구하기
____재귀 함수로 팩토리얼 구하기
__07 메모화
____재귀 함수의 문제
____메모화
__08 튜플
____튜플을 사용한 할당
____튜플을 사용한 여러 값 리턴
__09 조금 더 나아가기
____람다
____파일 처리
____혼자 공부하기
____코드에 이름 붙이기
____코드 유지보수
Chapter 6. 예외 처리
__01 구문 오류와 예외
____구문 오류
____예외
__02 기본 예외 처리
____예외 상황
____조건문으로 예외 처리하기
__03 try except 구문
__04 try except else 구문
__05 finally 구문
__06 예외 객체
__07 예외 구분하기
____여러 가지 예외가 발생할 수 있는 상황
____예외 구분하기
____모든 예외 잡기
__08 강제로 예외 발생시키기
__09 조금 더 나아가기
____finally 키워드를 사용하는 이유
____다양한 코드 살펴보기
Part 2. 프로그래밍의 활용하기
Chapter 7. 표준 모듈
__01 모듈 사용 기본 - math 모듈
____import 구문
____모듈 문서
____from 구문
____as 구문
__02 random 모듈
__03 sys 모듈
__04 os 모듈
__05 datetime 모듈
__06 time 모듈
__07 urllib 모듈
__08 조금 더 나아가기
____재귀 함수로 폴더 내부의 모든 파일 확인하기
____텍스트 데이터
____바이너리 데이터
____인코딩과 디코딩
____텍스트 데이터와 바이너리 데이터
____인터넷의 이미지 저장하기
Chapter 8. 외부 모듈
__01 외부 모듈 설치하기
____모듈 설치하기
____모듈 찾아보기
__02 Beautiful Soup 모듈
__03 Flask 모듈
__04 조금 더 나아가기
____라이브러리와 프레임워크
Chapter 9. 모듈
__01 모듈 만들기
__02 __name_ _ == "__main_ _"
____ __name__
모듈의 __name__
____ __name__ 활용하기
__03 패키지
____패키지 만들어보기
____ __init__.py 파일
Chapter 10. 클래스
__01 개요
__02 객체
__03 클래스 기본
__04 생성자
__05 메서드
__06 어떤 클래스의 인스턴스인지 확인하기
__07 특수한 이름의 메서드
__08 클래스 변수와 함수
____클래스 변수
____클래스 함수
__09 조금 더 나아가기
____가비지 컬렉터
____프라이빗 변수와 겟터/셋터
____상속
____예외 클래스 만들기
__10 마지막으로
부록
__appendix A 명령 프롬프트 기본
__appendix B 제네레이터
__appendix C 정규 표현식
__appendix D 데코레이터
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
| 반품사유 | 반품 배송비 부담자 |
|---|---|
| 단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
| 고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
| 진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
|---|---|---|---|
| 어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
| 환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
| 결제수단 | 환불시점 | 환불방법 |
|---|---|---|
| 신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
| 계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
| 휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
| 포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
| 상품군 | 취소/반품 불가사유 |
|---|---|
| 의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
| 계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
| 가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
| 자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
| CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
| 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
| 노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |










