Companies Home Search Profile

Functional Programming With Python

Focused View

Andy Bek

14:26:13

11 View
  • 1.1 VSCode With Jupyter Notebooks.html
  • 1. Very Short Intro.mp4
    02:51
  • 2.1 notebooks.zip
  • 2. All Course Notebooks.html
  • 1. The Functional Paradigm.mp4
    06:33
  • 2.1 3. the five tenets of functional programming.zip
  • 2. Section Notebook.html
  • 1. Passing Functions As Arguments.mp4
    03:31
  • 2. Functions Returning Functions.mp4
    03:37
  • 3. Skill Challenge.mp4
    01:29
  • 4. Solution.mp4
    01:28
  • 5.1 4. functions as first class objects.zip
  • 5. Section Notebook.html
  • 1. Lists Of Functions.mp4
    03:13
  • 2. Skill Challenge.mp4
    01:26
  • 3. Solution.mp4
    07:23
  • 4.1 5. functions in data structures.zip
  • 4. Section Notebook.html
  • 1. Order And Higher-Order Functions.mp4
    03:24
  • 2. Skill Challenge.mp4
    01:48
  • 3. Solution.mp4
    05:43
  • 4.1 6. hofs at a glance.zip
  • 4. Section Notebook.html
  • 1. Impure Functions.mp4
    05:42
  • 2. Purity Is Eliminating (Realistically, Isolating) The Side Effects.mp4
    06:55
  • 3.1 7. purity and side effects.zip
  • 3. Section Notebook.html
  • 1. Lazy vs Eager Evaluation.mp4
    08:32
  • 2. Chaining Lazy Operations.mp4
    04:46
  • 3.1 8. laziness.zip
  • 3. Section Notebook.html
  • 1. Mutable Lists.mp4
    06:56
  • 2. Skill Challenge.mp4
    01:38
  • 3. Solution.mp4
    02:52
  • 4. Extra UndoRedo Operations With Immutable Data.mp4
    15:07
  • 5.1 9. immutability.zip
  • 5. Section Notebook.html
  • 1. Aliasing And Unintended Side Effects.mp4
    04:25
  • 2.1 10. aliasing.zip
  • 2. Section Notebook.html
  • 1. Anonymous Functions.mp4
    05:43
  • 2. A Single Expression.mp4
    05:18
  • 3. Good And Bad Uses.mp4
    06:26
  • 4. Nesting And In-Place Lambdas.mp4
    05:10
  • 5. Skill Challenge.mp4
    01:17
  • 6. Solution.mp4
    03:39
  • 7.1 11. lambdas.zip
  • 7. Section Notebook.html
  • 1. Transformations.mp4
    06:02
  • 2. Mapping Over Multiple Iterables.mp4
    04:36
  • 3. Built-Ins.mp4
    06:17
  • 4. Skill Challenge.mp4
    01:17
  • 5. Solution.mp4
    04:57
  • 6.1 12. map.zip
  • 6. Section Notebook.html
  • 1. The Basic Zip.mp4
    04:19
  • 2. Strict Mode.mp4
    04:34
  • 3. Unzipping With Splat.mp4
    05:49
  • 4. Building Dicts.mp4
    03:22
  • 5. Extra Functional Pipelining.mp4
    08:07
  • 6. Skill Challenge.mp4
    02:16
  • 7. Solution.mp4
    05:38
  • 8.1 13. zip.zip
  • 8. Section Notebook.html
  • 1. Declarative Select.mp4
    04:42
  • 2. Multiple Conditions.mp4
    07:08
  • 3. Extra Nested Lambdas.mp4
    05:57
  • 4. Chained Filtering.mp4
    05:17
  • 5. Skill Challenge.mp4
    01:31
  • 6. Solution.mp4
    04:19
  • 7. Extra Alternative Solution With namedtuple.mp4
    05:57
  • 8.1 14. filter.zip
  • 8. Section Notebook.html
  • 1. Any.mp4
    07:38
  • 2. All.mp4
    04:01
  • 3. Any And All With Filter And Map.mp4
    06:15
  • 4. Negation.mp4
    05:20
  • 5. Short Circuiting Logic.mp4
    04:39
  • 6. Skill Challenge.mp4
    01:15
  • 7. Solution.mp4
    05:10
  • 8.1 15. any and all.zip
  • 8. Section Notebook.html
  • 1. Accumulate.mp4
    05:46
  • 2. The Initial Accumulator.mp4
    10:43
  • 3. Skill Challenge.mp4
    01:12
  • 4. Solution.mp4
    03:04
  • 5. More Applications.mp4
    09:52
  • 6. Skill Challenge - Run Length Encoding.mp4
    01:35
  • 7. Solution.mp4
    11:11
  • 8.1 16. reduce.zip
  • 8. Section Notebook.html
  • 1. Introduction To Comprehensions.mp4
    06:08
  • 2. Nested List Comprehensions.mp4
    05:57
  • 3. Comprehensions Over Multiple Iterables.mp4
    03:19
  • 4. Skill Challenge.mp4
    01:09
  • 5. Solution.mp4
    03:47
  • 6.1 17. comprehensions.zip
  • 6. Section Notebook.html
  • 1. From Lists To Sets.mp4
    07:08
  • 2. More Advanced Operations.mp4
    04:56
  • 3. Skill Challenge.mp4
    01:01
  • 4. Solution.mp4
    05:13
  • 5. Extra Skill Challenge Efficient Primes.mp4
    01:29
  • 6. Solution.mp4
    05:32
  • 7.1 18. set comprehensions.zip
  • 7. Section Notebook.html
  • 1. Building New Dictionaries.mp4
    07:03
  • 2. More Use Cases.mp4
    08:36
  • 3. Skill Challenge.mp4
    01:20
  • 4. Solution.mp4
    04:49
  • 5. Alternative Solution.mp4
    04:48
  • 6.1 19. dictionary comrephensions.zip
  • 6. Section Notebook.html
  • 1. Concepts And Foundations.mp4
    06:42
  • 2. Implementing The Iterator Protocol.mp4
    10:59
  • 3.1 20. iterators.zip
  • 3. Section Notebook.html
  • 1. Introduction To Generator Functions.mp4
    06:28
  • 2. Generator Expressions.mp4
    04:12
  • 3. Two-Way Communication With Generators.mp4
    10:13
  • 4. Skill Challenge Infinite Fibonacci Generator.mp4
    01:21
  • 5. Solution.mp4
    02:36
  • 6. Alternative Solution.mp4
    02:48
  • 7. Extra Sliding Window Fibonacci With Deque.mp4
    10:00
  • 8.1 logfile.zip
  • 8. Data Pipelining Using Generators.mp4
    08:22
  • 9.1 21. generators.zip
  • 9. Section Notebook.html
  • 1. args and kwargs.mp4
    13:07
  • 2. Skill Challenge.mp4
    01:08
  • 3. Solution.mp4
    04:27
  • 4.1 22. variadics.zip
  • 4. Section Notebook.html
  • 1. Higher Order Functions Revisited.mp4
    04:59
  • 2. Skill Challenge.mp4
    01:24
  • 3. Solution.mp4
    04:28
  • 4.1 23. nested hofs.zip
  • 4. Section Notebook.html
  • 1. What Is A Closure.mp4
    07:29
  • 2. Skill Challenge.mp4
    01:41
  • 3. Solution.mp4
    03:36
  • 4.1 24. closures.zip
  • 4. Section Notebook.html
  • 1. Introduction To Decorators.mp4
    07:11
  • 2. Decorating Parameterized Functions.mp4
    06:18
  • 3. Skill Challenge.mp4
    02:19
  • 4. Solution.mp4
    04:49
  • 5.1 25. decorators.zip
  • 5. Section Notebook.html
  • 1. Advanced Decorators.mp4
    09:09
  • 2. Chaining Multiple Decorators.mp4
    07:57
  • 3. Preserving Identity With @wraps.mp4
    09:06
  • 4. Skill Challenge.mp4
    03:10
  • 5. Solution.mp4
    09:41
  • 6.1 26. advanced decorators.zip
  • 6. Section Notebook.html
  • 1. Introduction To Recursion.mp4
    09:59
  • 2. Recursion Trees And Recurrence Relations.mp4
    04:00
  • 3. Skill Challenge.mp4
    00:42
  • 4. Solution.mp4
    01:52
  • 5. Tail Recursion And Recursion Limits In Python.mp4
    07:23
  • 6. Mutual Recursion.mp4
    08:22
  • 7. Parsing Structured Data With Recursive Functions.mp4
    12:52
  • 8. A Slight Improvement.mp4
    05:45
  • 9. Skill Challenge - Recursive Binary Search.mp4
    03:31
  • 10. Solution.mp4
    09:30
  • 11. Skill Challenge - Refactored Signature.mp4
    01:39
  • 12. Solution.mp4
    04:30
  • 13.1 27. recursion.zip
  • 13. Section Notebook.html
  • 1. A Conceptual Understanding.mp4
    05:51
  • 2. Defining A Memoization Function.mp4
    07:23
  • 3. Predefined Caching Utilities.mp4
    06:35
  • 4. Extra Inline Memoization.mp4
    04:02
  • 5.1 28. memoization.zip
  • 5. Section Notebook.html
  • 1. Partial Function Application.mp4
    06:49
  • 2. Skill Challenge.mp4
    00:44
  • 3. Solution.mp4
    02:35
  • 4.1 29. currying and partials.zip
  • 4. Section Notebook.html
  • 1. Polymorphic Functions.mp4
    10:01
  • 2. A Quick Gotcha.mp4
    06:23
  • 3. Skill Challenge.mp4
    01:52
  • 4. Solution.mp4
    08:10
  • 5.1 30. overloading and polymorphism.zip
  • 5. Section Notebook.html
  • 1. Count.mp4
    06:26
  • 2. Infinite Cycles.mp4
    05:03
  • 3. Finite Cycles With Repeat.mp4
    09:44
  • 4. Skill Challenge.mp4
    01:12
  • 5. Solution.mp4
    04:10
  • 6.1 31. infinite iterators.zip
  • 6. Section Notebook.html
  • 1.1 Rapid Fire Python Fundamentals.zip
  • 1. Please Note.html
  • 2. Section Intro.mp4
    01:45
  • 3. Data Types.mp4
    02:35
  • 4. Variables.mp4
    08:27
  • 5. Arithmetic And Augmented Assignment Operators.mp4
    07:16
  • 6. Ints And Floats.mp4
    08:54
  • 7. Booleans And Comparison Operators.mp4
    05:12
  • 8. Strings.mp4
    07:52
  • 9. Methods.mp4
    06:29
  • 10. Containers I Lists.mp4
    06:08
  • 11. Lists vs. Strings.mp4
    06:53
  • 12. List Methods And Functions.mp4
    07:54
  • 13. Containers II Tuples.mp4
    04:43
  • 14. Containers III Sets.mp4
    10:32
  • 15. Containers IV Dictionaries.mp4
    05:15
  • 16. Dictionary Keys And Values.mp4
    08:14
  • 17. Membership Operators.mp4
    04:28
  • 18. Controlling Flow if, else, And elif.mp4
    08:21
  • 19. Truth Value Of Non-booleans.mp4
    03:28
  • 20. For Loops.mp4
    05:05
  • 21. The range() Immutable Sequence.mp4
    05:10
  • 22. While Loops.mp4
    05:55
  • 23. Break And Continue.mp4
    04:15
  • 24. Zipping Iterables.mp4
    03:39
  • 25. List Comprehensions.mp4
    07:47
  • 26. Defining Functions.mp4
    10:18
  • 27. Function Arguments Positional vs Keyword.mp4
    06:54
  • 28. Lambdas.mp4
    05:28
  • 29. Importing Modules.mp4
    05:38
  • Description


    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

    Who is this for?


  • This course is for anyone who wants to learn functional programming in Python from the very basics
  • Beginners to programming interested in writing concise, readable, and maintainable Python
  • Beginner Python developers with an interest in functional programming
  • Intermediate programmers with no exposure to functional constructs in Python
  • What You Need to Know?


  • No prior Python programming experience is required - this course is beginner friendly
  • A basic understanding of programming concepts is helpful, but not required
  • More details


    Description

    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!

    Who this course is for:

    • This course is for anyone who wants to learn functional programming in Python from the very basics
    • Beginners to programming interested in writing concise, readable, and maintainable Python
    • Beginner Python developers with an interest in functional programming
    • Intermediate programmers with no exposure to functional constructs in Python

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Hi! I'm Andy. I'm freelance software developer and capital markets consultant. I've spent close to a decade working with data, using code to automate business workflows, and consulting financial institutions on data-intensive applications.Aside from teaching, I run a AI and data consulting firm that targets fintechs in the post-trade services niche.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 160
    • duration 14:26:13
    • Release Date 2024/02/14