본문 바로가기

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

[체험판] Functional Python Programming Second Edition 상세페이지

[체험판] Functional Python Programming Second Edition

Discover the power of functional programming, generator functions, lazy evaluation, the built-in itertools library, and monads

  • 관심 0
소장
판매가
무료
출간 정보
  • 2018.04.13 전자책 출간
듣기 기능
TTS(듣기) 지원
파일 정보
  • PDF
  • 34 쪽
  • 3.4MB
지원 환경
  • PC뷰어
  • PAPER
ISBN
9781788621854
ECN
-

이 작품의 시리즈더보기

  • [체험판] Functional Python Programming Second Edition (Steven F. Lott)
  • Functional Python Programming Second Edition (Steven F. Lott)
[체험판] Functional Python Programming Second Edition

작품 정보

▶Book Description
If you're a Python developer who wants to discover how to take the power of functional programming (FP) and bring it into your own programs, then this book is essential for you, even if you know next to nothing about the paradigm.

Starting with a general overview of functional concepts, you'll explore common functional features such as first-class and higher-order functions, pure functions, and more. You'll see how these are accomplished in Python 3.6 to give you the core foundations you'll build upon. After that, you'll discover common functional optimizations for Python to help your apps reach even higher speeds.

You'll learn FP concepts such as lazy evaluation using Python's generator functions and expressions. Moving forward, you'll learn to design and implement decorators to create composite functions. You'll also explore data preparation techniques and data exploration in depth, and see how the Python standard library fits the functional programming model. Finally, to top off your journey into the world of functional Python, you'll at look at the PyMonad project and some larger examples to put everything into perspective.

▶What You Will Learn
⦁ Use Python's generator functions and generator expressions to work with collections in a non-strict (or lazy) manner
⦁ Utilize Python library modules including itertools, functools, multiprocessing, and concurrent features to ensure efficient functional programs
⦁ Use Python strings with object-oriented suffix notation and prefix notation
⦁ Avoid stateful classes with families of tuples
⦁ Design and implement decorators to create composite functions
⦁ Use functions such as max(), min(), map(), filter(), and sorted()
⦁ Write higher-order functions

▶Key Features
⦁ Learn how to choose between imperative and functional approaches based on expressiveness, clarity, and performance
⦁ Get familiar with complex concepts such as monads, concurrency, and immutability
⦁ Apply functional Python to common Exploratory Data Analysis (EDA) programming problems

▶Who This Book Is For
This book is for programmers who want to create succinct, expressive Python programs by borrowing techniques and design patterns from functional programming languages. Some algorithms can be expressed elegantly in a functional style; we can—and should—adapt this to make Python programs more readable and maintainable.

In some cases, a functional approach to a problem will also lead to extremely highperformance algorithms. Python makes it too easy to create large intermediate data structures, tying up memory (and processor time.) With functional programming design patterns, we can often replace large lists with generator expressions that are equally expressive but take up much less memory and run much more quickly.

▶What this book covers
⦁Chapter 1, Understanding Functional Programming, introduces some of the techniques that characterize functional programming. We’ll identify some of the ways to map those features to Python. Finally, we’ll also address some ways that the benefits of functional programming accrue when we use these design patterns to build Python applications.
⦁Chapter 2, Introducing Essential Functional Concepts, delves into six central features of the functional programming paradigm. We’ll look at each in some detail to see how they’re implemented in Python. We’ll also point out some features of functional languages that don’t apply well to Python. In particular, many functional languages have complex typematching rules required to support compiling and optimizing.
⦁Chapter 3, Functions, Iterators, and Generators, will show how to leverage immutable Python objects, and generator expressions adapt functional programming concepts to the Python language. We’ll look at some of the built-in Python collections and how we can leverage them without departing too far from functional programming concepts.
⦁Chapter 4, Working with Collections, shows how you can use a number of built-in Python functions to operate on collections of data. This chapter will focus on a number of relatively simple functions, such as any() and all(), which will reduce a collection of values to a single result.
⦁Chapter 5, Higher-Order Functions, examines the commonly-used higher-order functions such as map() and filter(). It also shows a number of other functions that are also higher-order functions as well as how we can create our own higher-order functions.
⦁Chapter 6, Recursions and Reductions, teaches how to design an algorithm using recursion and then optimize it into a high-performance for loop. We’ll also look at some other reductions that are widely used, including collections.Counter().
⦁Chapter 7, Additional Tuple Techniques, showcases a number of ways that we can use immutable tuples (and namedtuples) instead of stateful objects. Immutable objects have a much simpler interface—we never have to worry about abusing an attribute and setting an object into some inconsistent or invalid state.
⦁Chapter 8, The Itertools Module, examines a number of functions in this standard library module. This collection of functions simplifies writing programs that deal with collections or generator functions.
⦁Chapter 9, More Itertools Techniques, covers the combinatoric functions in the itertools module. These functions are somewhat less useful. This chapter includes some examples that illustrate ill-considered use of these functions and the consequences of combinatoric explosion.
⦁Chapter 10, The Functools Module, focuses on how to use some of the functions in this module for functional programming. A few functions in this module are more appropriate for building decorators, and they are left for Chapter 11, Decorator Design Techniques. The other functions, however, provide several more ways to design and implement function programs.
⦁Chapter 11, Decorator Design Techniques, looks at how you can look at a decorator as a way to build a composite function. While there is considerable flexibility here, there are also some conceptual limitations: we’ll look at ways that overly-complex decorators can become confusing rather than helpful.
⦁Chapter 12, The Multiprocessing and Threading Modules, points out an important consequence of good functional design: we can distribute the processing workload. Using immutable objects means that we can’t corrupt an object because of poorly-synchronized write operations.
⦁Chapter 13, Conditional Expressions and the Operator Module, lists some ways to break out of Python’s strict order of evaluation. There are limitations to what we can achieve here. We’ll also look at the operator module and how this can lead to slight clarification of some simple kinds of processing.
⦁Chapter 14, The PyMonad Library, examines some of the features of the PyMonad library. This provides some additional functional programming features. It also provides a way to learn more about monads. In some functional languages, monads are an important way to force a particular order for operations that might get optimized into an undesirable order. Since Python already has strict ordering of f expressions and statements, the monad feature is more instructive than practical.
⦁Chapter 15, A Functional Approach to Web Services, shows how we can think of web services as a nested collection of functions that transform a request into a reply. We’ll see ways to leverage functional programming concepts for building responsive, dynamic web content.
⦁Chapter 16, Optimizations and Improvements, includes some additional tips on performance and optimization. We’ll emphasize techniques such as memoization, because they’re easy to implement and can—in the right context—yield dramatic performance improvements.

작가 소개

⦁ Steven F. Lott
Steven F. Lott has been programming since the '70s, when computers were large, expensive, and rare. He's been using Python to solve business problems for over 10 years. His other titles with Packt Publishing include Python Essentials, Mastering Object-Oriented Python, Functional Python Programming, and Python for Secret Agents. Steven is currently a technomad who lives in city along the east coast of the U.S. You can follow his technology blog (slott-softwarearchitect).

리뷰

0.0

구매자 별점
0명 평가

이 작품을 평가해 주세요!

건전한 리뷰 정착 및 양질의 리뷰를 위해 아래 해당하는 리뷰는 비공개 조치될 수 있음을 안내드립니다.
  1. 타인에게 불쾌감을 주는 욕설
  2. 비속어나 타인을 비방하는 내용
  3. 특정 종교, 민족, 계층을 비방하는 내용
  4. 해당 작품의 줄거리나 리디 서비스 이용과 관련이 없는 내용
  5. 의미를 알 수 없는 내용
  6. 광고 및 반복적인 글을 게시하여 서비스 품질을 떨어트리는 내용
  7. 저작권상 문제의 소지가 있는 내용
  8. 다른 리뷰에 대한 반박이나 논쟁을 유발하는 내용
* 결말을 예상할 수 있는 리뷰는 자제하여 주시기 바랍니다.
이 외에도 건전한 리뷰 문화 형성을 위한 운영 목적과 취지에 맞지 않는 내용은 담당자에 의해 리뷰가 비공개 처리가 될 수 있습니다.
아직 등록된 리뷰가 없습니다.
첫 번째 리뷰를 남겨주세요!
'구매자' 표시는 유료 작품 결제 후 다운로드하거나 리디셀렉트 작품을 다운로드 한 경우에만 표시됩니다.
무료 작품 (프로모션 등으로 무료로 전환된 작품 포함)
'구매자'로 표시되지 않습니다.
시리즈 내 무료 작품
'구매자'로 표시되지 않습니다. 하지만 같은 시리즈의 유료 작품을 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
작품을 영구 삭제해도 '구매자' 표시는 남아있습니다.
결제 취소
'구매자' 표시가 자동으로 사라집니다.

개발/프로그래밍 베스트더보기

  • 핸즈온 LLM (제이 알아마르, 마르턴 흐루턴도르스트)
  • 모던 소프트웨어 엔지니어링 (데이비드 팔리, 박재호)
  • 러닝 랭체인 (메이오 오신, 누노 캄포스)
  • 개정4판 | 스위프트 프로그래밍 (야곰)
  • LLM 엔지니어링 (막심 라본, 폴 이우수틴)
  • 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 (최범균)
  • 미래를 선점하라 : AI Agent와 함께라면 당신도 디지털 천재 (정승원(디지털 셰르파))
  • 잘되는 머신러닝 팀엔 이유가 있다 (데이비드 탄, 에이다 양)
  • 혼자 만들면서 공부하는 딥러닝 (박해선)
  • 개정판 | 개발자 기술 면접 노트 (이남희)
  • 스테이블 디퓨전 실전 가이드 (시라이 아키히코, AICU 미디어 편집부)
  • 개정판|혼자 공부하는 파이썬 (윤인성)
  • 실리콘밸리에서 통하는 파이썬 인터뷰 가이드 (런젠펑, 취안수쉐)
  • 7가지 프로젝트로 배우는 LLM AI 에이전트 개발 (황자, 김진호)
  • 개발자를 위한 쉬운 쿠버네티스 (윌리엄 데니스, 이준)
  • 전략적 모놀리스와 마이크로서비스 (반 버논, 토마스 야스쿨라)
  • 요즘 우아한 AI 개발 (우아한형제들)
  • 최고의 프롬프트 엔지니어링 강의 (김진중)
  • [리얼타임] 버프스위트 활용과 웹 모의해킹 (김명근, 조승현)
  • 입문자를 위한 맞춤형 AI 프로그램 만들기 (다비드스튜디오)

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

spinner
앱으로 연결해서 다운로드하시겠습니까?
닫기 버튼
대여한 작품은 다운로드 시점부터 대여가 시작됩니다.
앱으로 연결해서 보시겠습니까?
닫기 버튼
앱이 설치되어 있지 않으면 앱 다운로드로 자동 연결됩니다.
모바일 버전