본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

파이썬 스킬 업 상세페이지

파이썬 스킬 업작품 소개

<파이썬 스킬 업> 런타임 효율성부터 고급 문법, 람다 함수, 정규표현식, 매직 메서드 등 고급 주제를 필수 항목으로 분류하여 설명하며, 많이 사용되는 넘파이를 자세히 설명하고, 이 외에 랜덤과 수학 패키지를 포함한 유용한 여러 모듈도 함께 다룬다. 마지막으로 금융 상품의 원리금 및 이자율(단리/복리) 계산을 손쉽게 하고, 인터넷에서 금융 데이터 가져와 주가 변동을 통계 데이터와 함께 살펴보는 차트까지 만들어 본다. 이 책으로 파이썬 전체 기본 문법을 깊은 수준으로 처음부터 끝까지 훑어보면서 그 과정에서 학습한 내용을 점검하고, 빠진 부분을 채워넣을 수 있으며, 잘못 알고 있던 사실을 바로잡을 수 있다. 또한, 스킬 업할 수 있는 다양한 주제들도 함께 설명하므로 파이썬 기초를 익힌 후 다음 단계로 나아가고 싶은 모든 분에게 추천한다.


저자 프로필

브라이언 오버랜드 Brian Overland

2021.06.22. 업데이트 작가 프로필 수정 요청

20대부터 전문 프로그래머로 일하기 시작했고, 컴퓨터 과학과 영어, 수학 선생님으로도 일했다. 새로운 언어를 배우는 것을 즐기며 게임, 퍼즐, 시뮬레이션이나 수학 문제를 프로그래밍하는 것만큼, 다른 사람에게 새로 배운 언어를 설명하는 능력도 탁월하다. 12권이 넘는 프로그래밍 도서를 집필한 저자이기도 하다. 마이크로소프트에서 10년 동안 소프트웨어 테스터, 프로그래머/저자, 매니저로 근무했으며, 그의 가장 큰 성과는 비주얼 베이직 1.0의 리드 저자이자 전체 문서화 프로젝트 리더로 활동할 때 얻었다. 이 프로젝트는 마이크로소프트 윈도 개발을 하는 사람들에게 길잡이 역할을 하여 세상을 바꾸는 데 이바지했으며, 프로젝트의 성공 비결은 윈도 개발 가이드 문서가 재미있고 쉽다는 것을 보여 주었기 때문이라고 생각한다.


저자 소개

브라이언 오버랜드(Brian Overland)
20대부터 전문 프로그래머로 일하기 시작했고, 컴퓨터 과학과 영어, 수학 선생님으로도 일했다. 새로운 언어를 배우는 것을 즐기며 게임, 퍼즐, 시뮬레이션이나 수학 문제를 프로그래밍하는 것만큼, 다른 사람에게 새로 배운 언어를 설명하는 능력도 탁월하다. 12권이 넘는 프로그래밍 도서를 집필한 저자이기도 하다. 마이크로소프트에서 10년 동안 소프트웨어 테스터, 프로그래머/저자, 매니저로 근무했으며, 그의 가장 큰 성과는 비주얼 베이직 1.0의 리드 저자이자 전체 문서화 프로젝트 리더로 활동할 때 얻었다. 이 프로젝트는 마이크로소프트 윈도 개발을 하는 사람들에게 길잡이 역할을 하여 세상을 바꾸는 데 이바지했으며, 프로젝트의 성공 비결은 윈도 개발 가이드 문서가 재미있고 쉽다는 것을 보여 주었기 때문이라고 생각한다.
 

존 베넷(John Bennett)
프록시미티 테크놀로지(Proximity Technology), 일렉트로닉 퍼블리싱(Electronic Publishing)과 마이크로소프트의 시니어 소프트웨어 엔지니어다. 최근에는 프로토타이핑 도구로 파이썬을 사용하여 새로운 프로그래밍 언어를 개발했다. 9개의 미국 특허를 보유하고 있으며, 그가 진행한 프로젝트로는 휴대용 철자 검사기와 동아시아 필기 인식 소프트웨어 등이 있다.


조인석(옮긴이)
17년차 소프트웨어 엔지니어이며, 현대정보기술, 삼성SDS, 두산중공업을 거쳐 현재는 글로벌 오픈 소스 검색엔진 1위 회사인 엘라스틱에서 수석 기술지원 엔지니어로 근무하고 있다. 『파이썬 프로그래밍』(혜지원), 『파이선으로 쉽게 배우는 프로그래밍 입문』(한빛 아카데미)을 집필했고, 『파이썬 핵심 개발자들과의 인터뷰』(터닝포인트)를 번역했다. 파이콘 코리아 2017, 2019의 연사로도 활동하였으며, 직접 경험한 기술 이야기를 여러 엔지니어들과 나누는 것을 즐긴다.

목차

1장 파이썬 기초 돌아보기
1.1 파이썬 빠르게 시작하기
1.2 변수와 이름 짓기
1.3 대입 연산자 조합
1.4 파이썬 산술 연산자 요약
1.5 기초 데이터 타입: 정수와 부동소수점
1.6 기본 입력과 출력
1.7 함수 정의
1.8 파이썬 if 문
1.9 파이썬 while 문
1.10 간단한 프로그램 작성하기
1.11 파이썬 불리언 연산자 요약
1.12 함수 인수와 반환값
1.13 선행 참조 문제
1.14 파이썬 문자열
1.15 파이썬 리스트(그리고 강력한 정렬 앱)
1.16 for 문과 범위
1.17 튜플
1.18 딕셔너리
1.19 세트
1.20 전역 변수와 지역 변수
1.21 정리해 보자
1.22 복습 문제
1.23 실습 문제
 
2장 고급 문자열 기능
2.1 문자열은 불변이다
2.2 바이너리를 포함한 숫자 변환
2.3 문자열 연산자(+, =, *, >, 기타)
2.4 인덱싱과 슬라이싱
2.5 단일-문자 함수(문자 코드)
2.6 ‘join’을 사용하여 만든 문자열
2.7 주요 문자열 함수
2.8 이진수와 10진수, 16진수 변환 함수
2.9 간단한 불리언(‘is’) 메서드
2.10 대·소문자 변환 메서드
2.11 검색-교체 메서드
2.12 ‘split’을 활용한 입력 값 쪼개기
2.13 앞뒤 문자 제거하기
2.14 자리 맞춤 메서드
2.15 정리해 보자
2.16 복습 문제
2.17 실습 문제
 
3장 고급 리스트 기능
3.1 파이썬 리스트 생성 및 활용
3.2 리스트 복사 vs 리스트 변수 복사
3.3 인덱스
__3.3.1 양수 인덱스
__3.3.2 음수 인덱스
__3.3.3 enumerate 함수로 인덱스 숫자 생성
3.4 조각으로부터 데이터 가져오기
3.5 조각 안에 값 대입하기
3.6 리스트 연산자
3.7 얕은 복사 vs 깊은 복사
3.8 리스트 함수
3.9 리스트 메서드: 리스트 수정하기
3.10 리스트 메서드: 내용 정보 가져오기
3.11 리스트 메서드: 재편성하기
3.12 스택 역할을 하는 리스트: RPN 애플리케이션
3.13 reduce 함수
3.14 람다 함수
3.15 리스트 함축
3.16 딕셔너리와 세트의 함축
3.17 리스트를 통한 인수 전달하기
3.18 다차원 리스트
3.18.1 불균형 행렬
3.18.2 제멋대로 큰 행렬 만들기
3.19 정리해 보자
3.20 복습 문제
3.21 실습 문제
 
4장 지름길, 커맨드 라인, 그리고 패키지
4.1 개요
4.2 22가지 프로그래밍 지름길
__4.2.1 필요하다면 코드를 여러 줄에 걸쳐 작성한다
__4.2.2 for 루프는 현명하게 사용한다
__4.2.3 대입 연산자 조합을 이해한다( +=)
__4.2.4 다중 대입을 사용한다
__4.2.5 튜플 대입을 사용한다
__4.2.6 고급 튜플 대입을 사용한다
__4.2.7 리스트와 문자열 ‘곱하기’를 사용한다
__4.2.8 다중 값을 반환한다
__4.2.9 루프와 else 키워드를 사용한다
__4.2.10 불리언과 ‘not’의 이점을 활용한다
__4.2.11 문자열은 문자의 나열로 다룬다
__4.2.12 replace를 사용하여 문자를 제거한다
__4.2.13 필요 없는 루프는 사용하지 않는다
__4.2.14 연결된 비교 연산자를 사용한다
__4.2.15 함수 테이블(리스트, 딕셔너리)로 switch 문을 모방한다
__4.2.16 is 연산자는 정확하게 사용한다
__4.2.17 단일 행 for 루프를 사용한다
__4.2.18 여러 문장을 하나의 행으로 줄인다
__4.2.19 단일 행 if/then/else 문을 작성한다
__4.2.20 range와 함께 enum을 생성한다
__4.2.21 IDLE 안에서 비효율적인 print 함수 사용을 줄인다
__4.2.22 큰 번호 안에 언더스코어(_)를 넣는다
4.3 커맨드 라인에서 파이썬 실행하기
__4.3.1 윈도 기반 시스템에서 실행하기
__4.3.2 macOS 시스템에서 실행하기
__4.3.3 pip 혹은 pip3로 패키지 내려받기
4.4 doc string 작성하고 사용하기
4.5 패키지 탑재하기
4.6 파이썬 패키지의 가이드 투어
4.7 일급 객체인 함수
4.8 가변 길이 인수 리스트
__4.8.1 *args 리스트
__4.8.2 **kwargs 리스트
4.9 데코레이터와 함수 프로파일러
4.10 제너레이터
__4.10.1 이터레이터란 무엇인가?
__4.10.2 제너레이터 소개
4.11 커맨드 라인 인수 접근하기
4.12 정리해 보자
4.13 복습 문제
4.14 실습 문제
 
5장 정밀하게 텍스트 포매팅하기
5.1 백분율 기호 연산자(%)를 사용한 포매팅
5.2 백분율 기호(%) 포맷 지시자
5.3 백분율 기호(%) 변수-너비 출력 필드
5.4 전역 ‘format’ 함수
5.5 format 메서드 소개
5.6 위치로 순서 정하기(이름 혹은 색인)
5.7 ‘repr’ vs 문자열 변환
5.8 ‘format’ 함수와 메서드의 ‘사양’ 필드
__5.8.1 출력-필드 너비
__5.8.2 텍스트 조정: ‘채우기’와 ‘자리 맞춤’ 문자
__5.8.3 ‘기호’ 문자
__5.8.4 0으로 시작하는 문자(0)
__5.8.5 천 단위 위치 구분자
__5.8.6 정밀도 제어
__5.8.7 문자열에서 사용한 ‘정밀도(잘라 내기)’
__5.8.8 ‘타입’ 지시자
__5.8.9 이진수 출력하기
__5.8.10 8진수와 16진수 출력하기
__5.8.11 백분율 출력하기
__5.8.12 이진수 예시
5.9 변수-길이 필드
5.10 정리해 보자
5.11 복습 문제
5.12 실습 문제
 
6장 정규표현식, 파트 Ⅰ
6.1 정규표현식의 소개
6.2 실제 예시: 전화번호
6.3 일치 패턴 정제하기
6.4 정규표현식 동작 방식: 컴파일 vs 실행
6.5 대·소문자 무시하기, 그리고 다른 함수 플래그
6.6 정규표현식: 기본 문법 요약
__6.6.1 메타 문자
__6.6.2 문자 집합
__6.6.3 패턴 수량자
__6.6.4 역추적, 탐욕적 수량자와 게으른 수량자
6.7 정규표현식 실습 예시
6.8 Match 객체 사용하기
6.9 패턴에 맞는 문자열 검색하기
6.10 반복하여 검색하기(findall)
6.11 findall 메서드와 그룹화 문제
6.12 반복 패턴 검색하기
6.13 텍스트 교체하기
6.14 정리해 보자
6.15 복습 문제
6.16 실습 문제
 
7장 정규표현식, 파트 Ⅱ
7.1 고급 정규표현식 문법의 요약
7.2 태그를 남기지 않는 그룹
__7.2.1 표준 숫자 예시
__7.2.2 태깅 문제 고치기
7.3 탐욕적 일치 vs 게으른 일치
7.4 전방탐색 기능
7.5 다중 패턴 확인하기(전방탐색)
7.6 부정적 전방탐색
7.7 명명 그룹
7.8 re.split 함수
7.9 스캐너 클래스와 RPN 프로젝트
7.10 RPN: 스캐너로 더 많은 작업 수행하기
7.11 정리해 보자
7.12 복습 문제
7.13 실습 문제
 
8장 텍스트와 바이너리 파일
8.1 두 가지 종류의 파일: 텍스트와 바이너리
__8.1.1 텍스트 파일
__8.1.2 바이너리 파일
8.2 바이너리 파일을 사용하는 경우: 요약
8.3 파일/디렉터리 시스템
8.4 파일을 열 때 발생하는 예외 다루기
8.5 ‘with’ 키워드 사용하기
8.6 읽기/쓰기 연산의 요약
8.7 텍스트 파일 작업 상세하게 알아보기
8.8 파일 포인터(‘seek’) 사용하기
8.9 RPN 프로젝트 안에서 텍스트 읽기
__8.9.1 현재까지의 RPN 번역기
__8.9.2 텍스트 파일의 RPN 읽기
__8.9.3 RPN에 대입 연산자 추가하기
8.10 바이너리 직접 읽기/쓰기
8.11 데이터를 고정-길이 필드로 변환(struct)
__8.11.1 한 번에 하나의 숫자 읽기/쓰기
__8.11.2 한 번에 여러 숫자 읽기/쓰기
__8.11.3 고정-길이 문자열 읽기/쓰기
__8.11.4 변수-길이 문자열 읽기/쓰기
__8.11.5 문자열과 숫자를 함께 읽기/쓰기
__8.11.6 저수준 상세: 빅 엔디안 vs 리틀 엔디안
8.12 피클링 패키지 사용하기
8.13 shelve 패키지 사용하기
8.14 정리해 보자
8.15 복습 문제
8.16 실습 문제
 
9장 클래스와 매직 메서드
9.1 클래스와 객체 기본 문법
9.2 인스턴스 변수에 대해 더 알아보자
9.3 __init__ 메서드와 __new__ 메서드
9.4 클래스와 선행 참조 문제
9.5 메서드 기본
9.6 전역 변수/메서드와 지역 변수/메서드
9.7 상속
9.8 다중 상속
9.9 매직 메서드 개요
9.10 매직 메서드 상세
__9.10.1 파이썬 클래스의 문자열 표현 3
__9.10.2 객체 표현 메서드
__9.10.3 비교 메서드
__9.10.4 산술 연산자 메서드
__9.10.5 단항 산술 연산자
__9.10.6 리플렉션(역방향) 메서드
__9.10.7 교체 연산자 메서드
__9.10.8 변환 메서드
__9.10.9 컬렉션 클래스 메서드
__9.10.10 __iter__와 __next__ 구현하기
9.11 다중 인수 타입 지원
9.12 동적 속성 설정 및 조회
9.13 정리해 보자
9.14 복습 문제
9.15 실습 문제
 
10장 Decimal, Money, 그리고 기타 클래스
10.1 숫자 클래스의 개요
10.2 부동소수점 포맷의 제약 사항
10.3 Decimal 클래스 소개
10.4 Decimal 객체를 위한 특수 연산
10.5 Decimal 클래스 애플리케이션
10.6 Money 클래스 설계하기
10.7 기본 Money 클래스 작성하기(포함)
10.8 Money 객체 출력하기(“__str__”, “__repr__”)
10.9 기타 Money용 연산
10.10 데모: Money 계산기
10.11 기본 통화 설정하기
10.12 Money와 상속
10.13 Fraction 클래스
10.14 complex 클래스
10.15 정리해 보자
10.16 복습 문제
10.17 실습 문제
 
11장 random과 math 패키지
11.1 random 패키지의 개요
11.2 Random 함수 살펴보기
11.3 무작위 행동 테스트하기
11.4 무작위-정수 게임
11.5 카드 덱 객체 만들기
11.6 덱에 픽토그램 추가하기
11.7 정규 분포 차트 작성하기
11.8 나만의 난수 생성 프로그램 작성하기
__11.8.1 난수 생성 원칙
__11.8.2 샘플 생성기 4
11.9 math 패키지 개요
11.10 math 패키지 함수 살펴보기
11.11 특별 수치 pi 사용하기
11.12 삼각함수: 나무의 높이
11.13 로그: 숫자 맞추기 게임 돌아보기
__11.13.1 로그의 동작 원리
__11.13.2 실제 프로그램에 로그 적용하기
11.14 정리해 보자
11.15 복습 문제
11.16 실습 문제
 
12장 넘파이 패키지
12.1 array, numpy, matplotlib 패키지 개요
__12.1.1 array 패키지
__12.1.2 numpy 패키지
__12.1.3 numpy.random 패키지
__12.1.4 matplotlib 패키지
12.2 array 패키지 사용하기
12.3 numpy 패키지를 내려받고 탑재하기
12.4 numpy 소개: 1부터 100만까지 더하기
12.5 numpy 배열 만들기
__12.5.1 array 함수(array로 변환)
__12.5.2 arange 함수
__12.5.3 linspace 함수
__12.5.4 empty 함수
__12.5.5 eye 함수
__12.5.6 ones 함수
__12.5.7 zeros 함수
__12.5.8 full 함수
__12.5.9 copy 함수
__12.5.10 fromfunction 함수
12.6 예시: 곱셈표 만들기
12.7 numpy 배열의 배치 연산
12.8 numpy 슬라이스 정렬하기
12.9 다차원 슬라이싱
12.10 불리언 배열: numpy에 마스킹하기!
12.11 numpy와 에라토스테네스의 체
12.12 numpy 통계 구하기: 표준 편차
12.13 numpy 행과 열 가져오기
12.14 정리해 보자
12.15 복습 문제
12.16 실습 문제
 
13장 넘파이 고급 사용법
13.1 numpy의 고급 수학 연산
13.2 matplotlib 내려받기
13.3 numpy와 matplotlib으로 그래프 선 그리기
13.4 여러 선 그래프 그리기
13.5 복리 그래프 그리기
13.6 matplotlib으로 히스토그램 만들기
13.7 원과 가로세로 비율
13.8 파이 차트 만들기
13.9 numpy로 선형대수학 구현하기
__13.9.1 점곱(dot product)
__13.9.2 외적 함수
__13.9.3 기타 선형대수학 함수
13.10 3차원 플로팅
13.11 numpy 금융 애플리케이션
13.12 xticks와 yticks로 축 조정하기
13.13 numpy 혼합-데이터 레코드
13.14 파일에서 numpy 데이터 읽고 쓰기
13.15 정리해 보자
13.16 복습 문제
13.17 실습 문제
 
14장 여러 모듈과 RPN 예시
14.1 파이썬 모듈의 개요
14.2 간단한 2개의 모듈 예시
14.3 import 문의 변형
14.4 __all__ 기호 사용하기
14.5 전역과 지역 모듈 변수
14.6 메인 모듈과 __main__
14.7 상호 탑재 문제 해결하기
14.8 RPN 예시: 2개의 모듈로 나누기
14.9 RPN 예시: I/O 지침 추가하기
14.10 RPN 예시 추가 변경 598
__14.10.1 줄-번호 확인 기능 추가하기
__14.10.2 0이 아니면 이동하는 기능 추가하기
__14.10.3 초과(>)와 난수 획득(!)
14.11 RPN: 모든 코드 모으기
14.12 정리해 보자
14.13 복습 문제
14.14 실습 문제
 
15장 인터넷에서 금융 데이터 가져오기
15.1 이 장의 계획
15.2 pandas 패키지 소개
15.3 stock_load: 간단한 데이터 리더
15.4 간단한 주식 차트 만들기
15.5 제목과 범례 추가하기
15.6 makeplot 함수 작성하기(리팩터링)
15.7 2개의 주식 시세를 함께 그래프로 그리기
15.8 응용: 다른 데이터 그래프 그리기
15.9 기간 제한하기
15.10 차트 쪼개기: 판매량 서브플롯
15.11 변동 평균 선 추가하기
15.12 사용자에게 선택권 넘기기
15.13 정리해 보자
15.14 복습 문제
15.15 실습 문제
 
부록 A 파이썬 연산자 우선순위 표
부록 B 내장 파이썬 함수
부록 C 세트 메서드
부록 D 딕셔너리 메서드
부록 E 문법 참고 자료
E.1 변수와 대입
E.2 파이썬의 빈칸 이슈
E.3 알파벳 순서의 문법 참고 자료


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전