Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Functional Programming With Python

via Udemy

Overview

A beginner-friendly introduction to functional constructs in python

What you'll learn:
  • Practical fluency with map, filter, reduce, zip, any, all, list, set, dictionary, and generator comprehensions, and generator expressions
  • Complete coverage of intermediate functional constructs in Python: generators, iterators, decorators, closures, recursion, and much more!
  • A practical exploration of advanced topics: closures, recursion, partial function application, currying, memoization, infinite iterators, and overloading
  • A conceptual understanding of the key tenets of functional programming: immutability, purity, higher-order functions, recursion, and referential transparency

Welcome to the best and most comprehensive introduction to functional programming in Python!

In this beginner-friendly course, you will get to learn and practice Python's functional capabilities step-by-step, from the ground up.

The course will begin with a conceptual understanding of the key tenets of functional programming:

  • immutability: the idea that data should not be modified in place

  • purity: the practice of writing functions that do not cause side effects

  • higher-order functions: treating functions as pari passu with other data types

  • recursion: the pattern of writing functions that call themselves

  • referential transparency: the principle that a function call can be replaced with its return value without changing the program's behavior

Then, we will explore practical utilities that Python offers to help us write functional code, including:

  • map, filter, reduce, zip, any, all: utilities for working with iterables

  • list, set, dictionary, and generator comprehensions: concise ways of creating lists, sets, dictionaries, and generators

  • generator functions and iterators: functions that can be paused and resumed

  • variable arity: functions that can take a variable number of arguments, unknown at the time of writing the function

In the final, and longest part of the course, we will take a look at more advanced topics, including:

  • closures: higher-order functions that can access non-local variables

  • recursion: functions that call themselves

  • partial function application: functions that return other functions, with some arguments pre-filled

  • currying: a special case of partial function application

  • memoization: caching the results of function calls to speed up execution

  • infinite iterators: iterators that never end

  • functional overloading: functions that behave differently depending on their inputs

Throughtout the course, you will get to practice your newly acquired skills through a set of more than 20 skill challenges, each of which will be followed with a detailed video explanation of the solution that we will walk through together.

This course is very beginner-friendly and no python experience is assumed. If you've never worked with Python before, there's a full length introduction to Python programming included as an appendix, covering the fundamentals of the language from the basic data types to containers, control flow, loops, classes, and more.

See you inside!

Taught by

Andy Bek

Reviews

4.9 rating at Udemy based on 35 ratings

Start your review of Functional Programming With Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.