Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Programming Languages Functional Programming

LEARNING PATH: Python: Functional Programming with Python

Perceive functional programming with Python to efficiently solve real-world problems
Rating: 4.3 out of 54.3 (195 ratings)
1,792 students
Created by Packt Publishing
Last updated 5/2019
English
English [Auto], Polish [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Higher-order functions and Lambda expressions (nameless functions)
  • Error handling in Functional Programming
  • Understand common functional design patterns, and how these apply to Python
  • Understand what an iterator is in Python
  • Iterators and iterator functions built into Python
  • Create your own iterators
  • Understand what a generator coroutine is
  • Master list and dict comprehensions and generator expressions

Course content

2 sections • 45 lectures • 5h 37m total length

  • Preview04:38
  • Example – A Functional, Interactive Calculator
    11:46
  • Pro – Stateless, Referentially Transparent Functions Produce the Same Result
    07:04
  • Pro – You Can Prove That Code Is Correct at Least in Theory
    08:34
  • Con – Complexity and Overly Deep Recursion
    06:11
  • Con – Functional Programming Can Be Unintuitive
    09:14
  • Preview06:29
  • Diving into Lambda Expressions
    06:09
  • Understanding ‘and’ and ‘or’
    07:22
  • Diving into Inline ‘if’ Expressions
    05:20
  • Passing a Function as an Argument to Another Function
    09:17
  • Nesting a Function in Another Function
    06:41
  • Returning a Function from Another Function
    04:42
  • The Operator Module – Operators as Regular Functions
    04:59
  • Decorators – The @ Prefix
    04:40
  • Decorators with Arguments
    06:33
  • Currying – One Argument per Function
    07:32
  • Monads – Variables That Decide How They Should Be Treated
    07:07
  • Memoization – Remembering Results
    07:15
  • You Cannot Catch Exceptions in Lambda Expressions
    04:56
  • Handling Errors in Lambda Expressions
    05:35
  • Example – A Fully Functional, Interactive Calculator
    12:40
  • Functional Programming in Python
    5 questions

  • Preview05:20
  • Using a List – Mutable Sequences of Elements with a Fixed Order
    10:39
  • Using a Tuple – Immutable Sequences of Elements with a Fixed Order
    05:10
  • Using a Dict – Mutable, Key-value Mappings Without a Fixed Order
    05:34
  • Using a Set – Immutable Collections of Unique Elements Without a Fixed Order
    04:11
  • Unpacking Iterators by Assigning to Multiple Variables
    06:11
  • What Is an Iterator?
    05:46
  • Creating Your Own Iterator
    06:49
  • Exploring Generators
    09:09
  • Lazy Evaluation
    06:28
  • Coroutines – Implementing Concurrency through Generators
    12:28
  • Convenience Iterators – The Collections Module
    10:02
  • List Comprehensions
    06:41
  • Dict Comprehensions
    04:16
  • Generator Expressions
    05:54
  • Nested Comprehensions
    03:46
  • Using Convenience Functions
    11:23
  • Using Numerical and Logical Functions
    06:40
  • The Itertools Module
    15:12
  • The Functools Module
    08:03
  • A Functional, Iterator-Based, Interactive Calculator
    12:20
  • Recognize the Most Suitable Programming Technique for the Job
    13:16
  • A Sensible Interactive Calculator Built with Various Programming Techniques
    07:16
  • Iterators in Functional Programming with Python
    4 questions

Requirements

  • Basic programming knowledge of Python is needed.

Description

Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform, and easy to mix with other programming styles. Python is a high level language used in many development areas, like web development, data analysis, desktop UI and system administration. 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. If you're interested to use Functional Programming as a powerful tool to solve many real-world problems by writing robust and bug-free code, then go for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The highlights of this Learning Path are:

  • Understand common functional design patterns, and how these apply to Python
  • Learn the important role that iterators play in functional programming

In this Learning Path, you’ll learn what functional programming is, and how it differs from other programming styles, such as procedural and object-oriented programming. Then you’ll go on to explore lambda expressions, which are short one-line functions, and are the purest form of functional programming that Python offers. Next, you’ll learn about higher-order functions: functions that accept other functions as an argument, or return other functions as return values. You’ll also encounter important concepts from functional programming, such as monads, currying, statelessness, side-effects, memorization, and referential transparency; these concepts may initially seem odd to Python programmers, but you’ll see how they are elegantly supported by the language.

Further, you’ll learn everything there is to know about iterators in Python and how crucial they are in functional programming, where they are used, among other things, to implement repetitive logic and coroutines. You’ll learn about all standard iterators and iterator functions that Python offers. You’ll also learn to implement your own iterators. Functional programming makes heavy use of iterators, and you’ll learn how you can use them in functional programming through an interactive calculator application.

By the end of this Learning Path, you will get a thorough understanding of iterators to solve many real-world problems by writing robust, testable, and bug-free code.

Meet Your Expert:

We have combined the best works of the following esteemed authors to ensure that your learning journey is smooth:

SebastiaanMathôt currently works as assistant professor at the University of Groningen in the Netherlands. He is the lead developer at OpenSesame, which is an open-source, Python-based program for implementing psychology and neuroscience experiments. Sebastiaan is also the designer of DataMatrix, a Python library for numeric computing that is focused on elegance and readability. Sebastiaan also gives regular workshops on using OpenSesame and Python for scientific purposes, and regularly publishes Python tutorials on his YouTube channel. As such, he has extensive experience in teaching Python and making advanced topics seem as easy as possible.

Who this course is for:

  • This Learning Path is intended for developers who have a basic understanding of Python and want to expand their developer toolbox with important new techniques.

Instructor

Packt Publishing
Tech Knowledge in Motion
Packt Publishing
  • 3.9 Instructor Rating
  • 57,972 Reviews
  • 349,759 Students
  • 1,418 Courses

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.



  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.