logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

함수형 파이썬 프로그래밍

함수형 파이썬 프로그래밍

(파이썬으로 배우는 쉬운 함수형 프로그래밍)

스티븐 로트 (지은이), 오현석 (옮긴이)
에이콘출판
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
27,000원 -10% 0원
1,500원
25,500원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

함수형 파이썬 프로그래밍
eBook 미리보기

책 정보

· 제목 : 함수형 파이썬 프로그래밍 (파이썬으로 배우는 쉬운 함수형 프로그래밍)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9788960779761
· 쪽수 : 436쪽
· 출판일 : 2017-02-28

책 소개

함수형 프로그래밍에서 디자인 패턴과 기법을 빌려 간결하고 이해하기 쉬운 파이썬 프로그램을 작성하고자 하는 프로그래머를 위한 도서. 파이썬의 함수형 프로그래밍 디자인 패턴을 활용하면, 큰 리스트를 같은 내용을 쉽게 표현하면서도 훨씬 더 작은 메모리를 차지하고 실행 시간도 더 짧은 제네레이터 식으로 바꿀 수 있다.

목차

1장, 함수형 프로그래밍 소개
__패러다임 구별하기
__명령형 패러다임 구분하기
__함수형 패러다임 사용하기
__함수형 혼합체 사용하기
__객체 생성 살펴보기
__거북이의 스택
__함수형 프로그래밍의 고전적인 예제
__탐색적 자료 분석
__요약


2장, 함수형 기능 소개
__일급 계층 함수
____순수 함수
____고차 함수
__변경 불가능한 데이터
__엄격한 평가와 엄격하지 않은 평가
__명시적 루프 상태 대신 재귀 사용
__함수형 타입 시스템
__낯익은 영역
__어려운 개념 남겨두기
__요약


3장, 함수, 반복자, 제네레이터
__순수 함수 작성하기
__일급 계층 객체인 함수
__문자열 사용하기
__tuple과 namedtuple 사용하기
____제네레이터 식 사용하기
____제네레이터의 한계
____제네레이터 식 조합하기
__제네레이터 함수를 사용해 원자료 정리하기
__list, dict, set 사용하기
____상태가 있는 매핑 사용하기
____bisect 모듈을 사용해 매핑 만들기
____상태가 있는 집합 사용하기
__요약


4장, 컬렉션으로 작업하기
__함수의 다양성에 대한 정리
__반복 가능 객체로 작업하기
____XML 파일 구문 분석하기
____파일을 상위 수준에서 구문 분석하기
____시퀀스의 원소를 둘씩 짝 짓기
____iter() 함수를 명시적으로 사용하기
____단순한 루프 확장하기
____제네레이터 식을 스칼라 함수에 적용하기
____축약으로 any()와 all()을 사용하기
____len()과 sum() 사용하기
____통계에 합계와 원소 개수 활용하기
__zip()을 사용해 시퀀스를 구조화하거나 펼치기
____튜플로 묶은 시퀀스를 다시 풀기
____시퀀스 펼치기
____평평한 시퀀스 구조화하기
____평면 시퀀스 구조화하기 - 다른 방법
__순서를 바꾸기 위해 reversed() 사용하기
__enumerate()를 사용해 인덱스 번호 포함시키기
__요약


5장, 고차 함수
__max()와 min()을 사용해 최댓값, 최솟값 알아내기
__파이썬의 람다 식 사용하기
__람다와 람다대수
__map() 함수를 사용해 함수를 컬렉션에 적용하기
____map()에 람다 형식 사용하기
__map()을 여러 시퀀스에 활용하기
__filter()를 사용해 데이터를 받아들이거나 거부하기
__filter()를 사용해 이상값 식별하기
__iter() 함수와 끝을 표시하는 특별한 값 사용하기
__sorted()를 사용해 데이터 정렬하기
__고차 함수 작성하기
__고차 매핑과 필터 작성하기
____매핑하면서 데이터 풀기
____매핑하면서 추가 데이터를 감싸기
____매핑하면서 데이터를 펼치기
____걸러내면서 데이터 구조화하기
__제네레이터 함수 작성하기
__Callable로 고차 함수 만들기
____좋은 함수형 설계를 보장하기
__디자인 패턴 살펴보기
__요약


6장, 재귀와 축약
__수를 계산하는 간단한 재귀
____꼬리재귀 호출 구현하기
____재귀를 그대로 남겨두기
____처리하기 어려운 꼬리재귀 다루기
____재귀를 사용해 컬렉션 처리하기
____컬렉션에 대한 꼬리 호출 최적화
____축약과 겹치기 - 많은 값을 한 가지 값으로 줄이기
__그룹 만들기 축약 - 많은 값을 좀 더 적은 값으로 줄이기
____Counter로 매핑 만들기
____정렬을 사용해 매핑 만들기
____키 값에 따라 데이터를 그룹화하거나 분할하기
____더 일반적인 그룹화 축약 작성하기
____고차 축약 함수 작성하기
____파일 구문 분석기 작성하기
________CSV 파일 구문 분석하기
________헤더가 있는 일반 텍스트 파일 구문 분석하기
__요약


7장, 튜플을 사용하는 다른 기법
__변경 불가능한 이름 있는 튜플을 레코드로 사용하기
__함수형 생성자로 이름 있는 튜플 만들기
__상태가 있는 클래스 사용을 피하기 위해 튜플 사용하기
____통계적인 순위 할당하기
____상태를 바꾸는 대신 감싸기
____상태를 바꾸는 대신 다시 감싸기
____스피어맨 순위 상관계수 계산하기
__다형성과 파이썬다운 패턴 매치
__요약


8장, itertools 모듈
__무한 반복자로 작업하기
____count()로 개수 세기
____cycle()을 사용해 순환되는 원소를 계속 반복하기
____repeat()로 단일 값 반복하기
__유한한 반복자 사용하기
____enumerate()로 수 할당하기
____accumulate()로 현재까지의 합계 구하기
____chain()으로 반복자 조합하기
____groupby()로 반복자 분할하기
____zip_longest(), zip()을 사용해 반복 가능 객체 합치기
____compress()로 걸러내기
____islice()로 부분 집합 선택하기
____dropwhile()과 takewhile()로 상태를 사용해 걸러내기
____걸러내기 위한 두 가지 접근 방법인 filterfalse()와 filter()
____starmap()과 map()을 사용해 함수를 데이터에 적용하기
__tee()를 사용해 반복자 복제하기
__itertools 요리법
__요약


9장, 더 많은 itertools 사용 기법
__데카르트 곱 열거하기
__곱을 축약하기
____거리 계산하기
____모든 픽셀과 모든 색 얻기
____성능 분석
____문제를 다시 배열하기
____두 가지 변환 조합하기
__값의 컬렉션 순열 구하기
__모든 조합 구하기
__요리법
__요약


10장, functools 모듈
__함수 도구
lru_cache로 결과 캐시하기
__완전한 순서가 정해져 있는 클래스 정의하기
____수 클래스 정의하기
__partial()로 인자 중 일부만 적용하기
__데이터 집합을 reduce()를 사용해 축약하기
____map()과 reduce() 조합하기
____reduce()와 partial() 사용하기
____원데이터를 정리하기 위해 map()과 reduce() 사용하기
____groupby()와 reduce() 사용하기
__요약


11장, 데커레이터 설계 기법
__고차 함수로서의 데커레이터
____functools의 update_wrapper() 함수 사용하기
__횡단 관심사
__합성 설계
____잘못된 데이터 처리하기
__매개변수를 데커레이터에 추가하기
__좀 더 복잡한 데커레이터 구현하기
__설계의 한계를 인식하기
__요약


12장, 다중 프로세스와 스레드 모듈
____동시성의 진정한 의미는 무엇인가?
____경계 조건
____프로세스나 스레드 사이에 자원 공유하기
____어디서 이익이 누적되는가?
__다중 프로세싱 풀과 작업 사용하기
____여러 큰 파일 처리하기
____로그 파일 구문 분석하기 - 행 수집하기
____로그 항목을 이름 있는 튜플로 만들기
____Access 객체의 추가 필드 구문 분석하기
____자세한 접근 정보 걸러내기
____자세한 접근 정보 분석하기
____완전한 분석 프로세스
__동시 처리에 다중 프로세스 풀을 사용하기
____apply()를 사용해 단일 요청 만들기
____map_async(), starmap_async(), apply_async() 사용하기
____더 복잡한 다중 프로세스 구조
____concurrent.futures 모듈 사용하기
____concurrent.futures 스레드 풀 사용하기
____스레드와 큐 모듈 사용하기
____동시 처리 설계하기
__요약


13장, 조건식과 연산자 모듈
__조건식 평가하기
____엄격하지 않은 딕셔너리 규칙 활용하기
____참인 조건식 컬러내기
__람다 대신 operator 모듈 사용하기
____고차 함수를 사용할 때 이름 있는 애트리뷰트 가져오기
__연산자를 사용한 starmap
__연산자를 사용해 축약하기
__요약


14장, PyMonad 라이브러리
__다운로드 및 설치하기
__함수적 합성과 커링
____커링한 고차 함수 사용하기
____더 어려운 방식으로 커링하기
__함수적 합성과 PyMonad 곱셈 연산자
__펑터와 적용 가능 펑터
____지연 List() 펑터 사용하기
__모나드의 개념과 bind() 함수, 이진 오른쪽 시프트 연산자(>>)
__모나드를 사용해 시뮬레이션 구현하기
__추가 PyMonad 기능들
__요약


15장, 웹 서비스에 대한 함수적 접근
__HTTP 요청-응답 모델
____쿠키로 상태 주입하기
____서버를 함수형으로 설계하기
____함수적인 관점에서 더 깊이 살펴보기
____서비스 내포시키기
__WSGI 표준
____WSGI 처리 도중에 예외 발생시키기
____실용적인 WSGI 애플리케이션
__웹 서비스를 함수로 정의하기
____WSGI 애플리케이션 만들기
____원데이터 얻기
____필터 적용하기
____결과 직렬화하기
____데이터를 JSON이나 CSV로 직렬화하기
____데이터를 XML로 직렬화하기
____HTML로 데이터 직렬화하기
__사용량 추적하기
__요약


16장, 최적화와 개선
__메모이제이션과 캐싱
__메모이제이션 특화시키기
____꼬리재귀 최적화
__메모리 최적화
__정확도 최적화
____고객의 요구에 맞춰 정확도를 감소시키기
__사례 분석 - 카이 제곱을 사용한 결정
____원데이터를 Counter 객체를 사용해 걸러내고 축약하기
____요약한 데이터 읽기
____Counter 객체에서 확률 계산하기
____다른 요약 방법
__예상 값을 계산하고 분할표 표시하기
____카이 제곱 값 계산하기
____카이 제곱 문턱값 계산하기
____부분 감마 함수 계산하기
____완전한 감마 값 계산하기
____임의적인 분포의 확률 계산하기
__요약

저자소개

스티븐 로트 (지은이)    정보 더보기
컴퓨터가 거대하고 값비싸고 귀했던 1970년대에 프로그래밍을 시작했다. 계약직 소프트웨어 개발자이자 설계자로서 크고 작은 수백여 건의 프로젝트에 참여해왔다. 10년 넘게 파이썬을 사용해 비즈니스 문제를 해결 중이다. 팩트출판사에서 『유쾌한 파이썬』(에이콘, 2015), 『Python for Secret Agents II』(2015), 『Python Essentials』(2015), 『Functional Python Programming, 3/e』(2022), 『객체지향 파이썬 프로그래밍』(에이콘, 2017) 등을 출간했다. 현재 미국 동부 해안을 돌아다니며 업계에 머물고 있다.
펼치기
오현석 (옮긴이)    정보 더보기
모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 『코틀린 함수형 프로그래밍』(에이콘, 2023) 등 코틀린 서적을 여러 권 번역했고, 코틀린 외에도 『실전 파이썬 핸즈온 프로젝트』(책만, 2022), 『읽고 나면 진짜 쉬워지는 자료 구조』(길벗, 2024) 등 다양한 프로그래밍 언어와 프로그래밍 기술에 대한 책을 번역했으며, 『핵심 코틀린 프로그래밍』(에이콘, 2023) 책을 쓴 저자이기도 하다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책