O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Functional Programming in 7 Days

Video Description

Take a 7-day journey to the functional paradigm of Python programming

About This Video

  • You’ll learn to make Python code more concise using functional programming by moving into the compiler, ideas such as list comprehensions and caching.
  • Uncover the various features in Python for functional programming to unlock the robustness of your program by Lazy and Partial Evaluations, Memorization, and Automatic Parallelization.
  • Get practical illustrations with step-by-step instructions, followed by best practices and simple examples of applications.

In Detail

With every business being penetrated by data, it’s even more important to move towards functional paradigms to tackle the side-effects of programming, making testing and debugging easier. This course will teach you how to deconstruct data structures and store variable bindings (with closures). You’ll also learn about strong typing, storage allocation, and whether to use boxed (pointer-to-value) or unboxed (value directly) representation using functional programming.

This fast-paced actionable guide offers seven 30-minute lessons, each followed by a practical exercise to get you up and running. By the end, you’ll be well-equipped with programming concepts that enable robust functional programming, taking you one step closer to proficient programming in Python.

All the code and supporting files for this course are available on Github at https://github.com/PacktPublishing/Functional-Programming-in-7-Days

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : Getting Started with Functional Programming
    1. The Course Overview 00:03:53
    2. Introduction to Functional Programming 00:05:13
    3. Recursion in Python 00:07:32
    4. Immutability and Mutability 00:08:08
    5. Functions as First-Class Objects 00:10:06
    6. Lambda Expressions in Python 00:05:09
  2. Chapter 2 : Advanced Python Functions
    1. Classes, Objects, and Functions 00:15:32
    2. List and Tuple 00:08:48
    3. Set and Dictionary 00:10:41
    4. Implementing Iterator Protocol 00:05:57
    5. Generators and Yield Keyword 00:04:24
    6. List and Dictionary Comprehension 00:07:41
  3. Chapter 3 : Applying Callable and Lazy Evaluation
    1. Nested Functions and Closures 00:12:36
    2. Advanced Lambda Functions 00:08:20
    3. Lazy Evaluation in Python 00:06:05
  4. Chapter 4 : Implementing Higher Order Functions
    1. Higher Order Functions 00:06:38
    2. Map, Filter, and Iter 00:09:24
    3. The Itertools Module 00:10:18
    4. The Functools Module 00:07:15
    5. Using Decorators in Python 00:11:18
  5. Chapter 5 : Implementing Utilities and Optimizing Storage
    1. Composite Design in Python 3 00:06:50
    2. Caching in Python 00:07:22
    3. Memoization in Python 00:07:51
    4. The Operator Module 00:05:51
  6. Chapter 6 : Functional Programming for Applications
    1. Implementing a Word Counter 00:08:45
    2. Implementing a CSV Reader 00:10:38
    3. Implementing Word Counter Using Multiprocessing 00:07:00
    4. Using Yield to Pass Input to Functions 00:03:35
    5. Implementing Coroutines in Python 00:07:54
    6. Building Data Pipelines Using Coroutines 00:09:37
  7. Chapter 7 : Demystify Currying, Dispatching, and PyMonad
    1. Functional Composition and Currying in Python 00:09:54
    2. Using Functors in Python 00:06:54
    3. Single and Multiple Method Dispatching in Python 00:07:45
    4. Introduction to Monads 00:07:33
    5. Using the PyMonad Library 00:10:10
    6. Updating Docstrings Using Functools 00:06:06