
22 επεισόδια
1. The Course Overview

1. The Course Overview
This video gives an overview of entire course.
2. Example - A Functional, Interactive Calculator

2. Example - A Functional, Interactive Calculator
In this video, we will see how a basic calculator application can be implement using two different programming styles, procedural and functional. By doing so, we will get a first taste of functional programming.
3. Pro - Stateless, Referentially Transparent Functions Produce the Same Result

3. Pro - Stateless, Referentially Transparent Functions Produce the Same Result
In this video, we will see what statelessness, side-effects, and referential transparency are.
4. Pro - You Can Prove That Code Is Correct at Least in Theory

4. Pro - You Can Prove That Code Is Correct at Least in Theory
In this video, we will consider two ways of testing code, unit testing and through formal proofs.
5. Con - Complexity and Overly Deep Recursion

5. Con - Complexity and Overly Deep Recursion
In this video, we will consider recursion (functions that call themselves), which is often used in functional programming instead of loops.
6. Con - Functional Programming Can Be Unintuitive

6. Con - Functional Programming Can Be Unintuitive
In this video, we will consider how functional programming doesn't always match how humans think of the world as consisting of objects.
7. The Difference Between Statements and Expressions

7. The Difference Between Statements and Expressions
Functional programming relies heavily on expressions, and eschews statements. But what is the difference between the two? In this video, we will learn exactly how statements and expressions differ.
8. Diving into Lambda Expressions

8. Diving into Lambda Expressions
In this video, we will look at lambda expressions. This is the purest form of functional programming that Python offers. Lambda expressions are functions that consist of a single expression and which do not need to have a name.
9. Understanding 'and' and 'or'

9. Understanding 'and' and 'or'
In this video, we will take a closer look at 'and' and 'or'.
10. Diving into Inline 'if' Expressions

10. Diving into Inline 'if' Expressions
In this video, we will consider 'if' expressions. These are the functional alternatives to the far more commonly used 'if' statements.
11. Passing a Function as an Argument to Another Function

11. Passing a Function as an Argument to Another Function
In this video, we will consider how you can pass a function as an argument to another function. The receiving function is by definition a higher-order function.
12. Nesting a Function in Another Function

12. Nesting a Function in Another Function
In this video, we will look at nested functions, that is, functions that are defined inside other functions. We will also consider variable scope, that is, from which functions variables are accessible. These are important concepts for higher order functions.
13. Returning a Function from Another Function

13. Returning a Function from Another Function
In this video, we will see how a higher-order function can return functions as return values.
14. The Operator Module - Operators as Regular Functions

14. The Operator Module - Operators as Regular Functions
Because operators (+, -, /, and so on) are syntax and not objects, you cannot pass them as arguments or return values. To bypass this problem, the Python operator module offers all operators also as functions.
15. Decorators - The @ Prefix

15. Decorators - The @ Prefix
In this video, we will consider decorators. Decorators are an elegant and Pythonic syntax to implement specific kinds of higher-level functions.
16. Decorators with Arguments

16. Decorators with Arguments
In this video, we will consider decorators that accept arguments. This makes the decorator design pattern even more flexible.
17. Currying - One Argument per Function

17. Currying - One Argument per Function
In this video, we will look at currying, a technique for turning a function that takes multiple arguments into a chain of function that each take one argument.
18. Monads - Variables That Decide How They Should Be Treated

18. Monads - Variables That Decide How They Should Be Treated
In this video, we will look at monads. Most discussions of monads are complicated, and use lots of mathematical terminology. But, as we will see in this video, the idea of monads is really simple.
19. Memoization - Remembering Results

19. Memoization - Remembering Results
In this video, we will look at memoization, which is a technique to optimize code by storing return values of functions.
20. You Cannot Catch Exceptions in Lambda Expressions

20. You Cannot Catch Exceptions in Lambda Expressions
In this video, we will look at exceptions, which are the standard Python approach to error handling.
21. Handling Errors in Lambda Expressions

21. Handling Errors in Lambda Expressions
In this video, we will look at an alternative approach to error handling, using a Maybe-like decorator. This resembles the Maybe monad, but takes a more Pythonic approach.
22. Example - A Fully Functional, Interactive Calculator

22. Example - A Fully Functional, Interactive Calculator
In this video, we will take everything that we've learned, and use this newly acquired knowledge to polish the interactive calculator that we developed at the start of this section with the help of all using a functional programming style.
Functional Programming in Python
20171 σεζόν
Δημιουργοί και ηθοποιοί
- Μετάδοση
- Στούντιο
Κριτικές
- 0%
- 0%
- 0%
- 0%
- 0%
Γλώσσες ήχου
Υπότιτλοι
Αν παραγγείλετε ή παρακολουθήσετε περιεχόμενο, συμφωνείτε με τους Όρους. Πωλείται από την Amazon.com Services LLC.












