Functional Programming in Python

Functional Programming in Python

Ostettavissa
Functional programming is a style of programming that is characterized by short functions, lack of statements, and little reliance on variables. You will learn what functional programming is, and how you can apply functional programming in Python. We will also consider several different implementations of an interactive calculator to illustrate the use of functional programming.
20171 kausi
Näyttelijät: Sebastiaan Mathôt
KAIKKI
22 jaksoa
  • 1. The Course Overview

    1. The Course Overview

    This video gives an overview of entire course.
    This video gives an overview of entire course.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    12 min
    28.7.2017
  • 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.
    In this video, we will see what statelessness, side-effects, and referential transparency are.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    In this video, we will consider two ways of testing code, unit testing and through formal proofs.
    KAIKKI
    9 min
    28.7.2017
  • 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.
    In this video, we will consider recursion (functions that call themselves), which is often used in functional programming instead of loops.
    KAIKKI
    6 min
    28.7.2017
  • 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.
    In this video, we will consider how functional programming doesn't always match how humans think of the world as consisting of objects.
    KAIKKI
    9 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    6 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    6 min
    28.7.2017
  • 9. Understanding 'and' and 'or'

    9. Understanding 'and' and 'or'

    In this video, we will take a closer look at 'and' and 'or'.
    In this video, we will take a closer look at 'and' and 'or'.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    In this video, we will consider 'if' expressions. These are the functional alternatives to the far more commonly used 'if' statements.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    9 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    In this video, we will see how a higher-order function can return functions as return values.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    In this video, we will consider decorators. Decorators are an elegant and Pythonic syntax to implement specific kinds of higher-level functions.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    In this video, we will consider decorators that accept arguments. This makes the decorator design pattern even more flexible.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    8 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    In this video, we will look at memoization, which is a technique to optimize code by storing return values of functions.
    KAIKKI
    7 min
    28.7.2017
  • 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.
    In this video, we will look at exceptions, which are the standard Python approach to error handling.
    KAIKKI
    5 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    6 min
    28.7.2017
  • 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.
    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.
    KAIKKI
    13 min
    28.7.2017
  • Functional Programming in Python
    20171 kausi
    Functional programming is a style of programming that is characterized by short functions, lack of statements, and little reliance on variables. You will learn what functional programming is, and how you can apply functional programming in Python. We will also consider several different implementations of an interactive calculator to illustrate the use of functional programming.
    Luojat ja näyttelijät
    Näyttelijät
    Sebastiaan Mathôt
    Elokuvastudio
    Packt Publishing
    Arvostelut
    1. 5 tähti
      0%
    2. 4 tähti
      0%
    3. 3 tähti
      0%
    4. 2 tähti
      0%
    5. 1 tähti
      0%
    Lue kaikki arvostelut
    Ääniraidan kielet
    English
    Tekstitykset
    English [CC]
    Tekemällä tilauksen tai katsomalla sisältöä hyväksyt käyttöehtomme. Palvelua myy Amazon.com Services LLC.

    Palaute