We may earn an affiliate commission when you visit our partners.
Gerald Britton

This course will show you how to use functional programming (FP) in Python. You’ll learn what FP is, why it is an attractive alternative to other paradigms, how to write Pythonic functional code, and how to use FP in a business setting.

Read more

This course will show you how to use functional programming (FP) in Python. You’ll learn what FP is, why it is an attractive alternative to other paradigms, how to write Pythonic functional code, and how to use FP in a business setting.

Perhaps you are a seasoned Python programmer and have heard all the fuss about functional programming. Or maybe you're coming to Python from a functional language like Haskell, Scala, or F#, and you're wondering how to work in a language that seems to lack the things you take for granted in your favorite language. In this course, Functional Programming in Python 3, you’ll learn to apply the principles of functional programming (FP) using Python. First, you’ll explore the concepts of FP, including first class functions, pure functions, immutability and lazy evaluation, and FP’s relationship to other programming paradigms. Next, you’ll discover how to implement those concepts in Python, for example, by writing stateless functions and using immutable variables.. Finally, you’ll learn how to apply FP in a typical order processing system. When you’re finished with this course, you’ll have the skills and knowledge of functional programming in Python needed to develop and support FP Python in business settings.

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Syllabus

Course Overview
Introduction to Functional Programming
Reaching Higher with First Class Functions
Eliminating Side Effects with Pure Functions
Read more
Reducing Data Errors with Immutable Variables
Avoiding Unnecessary Work Using Lazy Evaluation
Replacing Iteration with Recursion
Eliminating Procedural Code with Pattern Matching
Summary

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suits seasoned Python programmers who have heard about functional programming and want to learn more about it
Suitable for developers coming from functional languages who want to learn how to apply FP principles in Python
Provides practical knowledge on how to implement FP concepts, like writing stateless functions and using immutables, in Python
Covers how to apply FP to typical order processing systems, showcasing real-world applications
Provides a comprehensive overview of FP concepts including first class functions, pure functions, immutability, and lazy evaluation

Save this course

Save Functional Programming in Python 3 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Functional Programming in Python 3 with these activities:
Read 'Functional Programming in Python' by David Mertz
Provides a comprehensive overview of functional programming in Python from a renowned expert in the field.
Show steps
  • Obtain a copy of the book
  • Read the book
Organize Course Materials
Improves accessibility and retention by organizing course materials into a coherent and accessible format.
Show steps
  • Gather all course materials
  • Organize materials by topic
Practice Functional Programming Principles
Provides focused practice on the core principles of functional programming.
Browse courses on First Class Functions
Show steps
  • Find practice problems on functional programming principles
  • Solve the practice problems
Four other activities
Expand to see all activities and additional details
Show all seven activities
Join a Functional Programming Study Group
Offers a collaborative environment for exploring and understanding functional programming concepts.
Browse courses on Peer Support
Show steps
  • Find a study group focused on functional programming
  • Participate in the study group
Explore Functional Programming Patterns
Provides additional practice and examples of common functional programming patterns.
Browse courses on Recursion
Show steps
  • Find tutorials on functional programming patterns
  • Complete the tutorials
Blog About Your Functional Programming Experience
Encourages you to reflect on and articulate your understanding of functional programming.
Browse courses on Functional Programming
Show steps
  • Choose a topic related to functional programming
  • Write your blog post
  • Publish your blog post
Implement a Functional Programming Project
Ties together the different concepts of functional programming learned in this course through a single, comprehensive project.
Browse courses on First Class Functions
Show steps
  • Plan your project
  • Implement your project
  • Test your project

Career center

Learners who complete Functional Programming in Python 3 will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts interpret data and use it to solve problems and improve business outcomes. They help businesses understand the performance of their systems, and to identify opportunities and risks. Functional programming is a valuable skill for Data Analysts because it can help them to efficiently and accurately manipulate large datasets, and to analyze large volumes of data to identify patterns and trends. This course in Functional Programming in Python 3 can help Data Analysts to enhance their data analysis skills.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. Functional programming is a valuable skill for Data Scientists because it can help them to efficiently and accurately analyze large datasets, and to develop models and algorithms to predict future outcomes. This course in Functional Programming in Python 3 can help Data Scientists to enhance their data science skills.
Business Analyst
Business Analysts analyze business processes and systems, and develop solutions to improve efficiency and effectiveness. Functional programming is a valuable skill for Business Analysts because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Business Analysts to enhance their business analysis skills.
Operations Research Analyst
Operations Research Analysts use mathematical and statistical models to analyze business processes and systems, and develop solutions to improve efficiency and effectiveness. Functional programming is a valuable skill for Operations Research Analysts because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Operations Research Analysts to enhance their operations research analysis skills.
Statistician
Statisticians collect, analyze, interpret, and present data. Functional programming is a valuable skill for Statisticians because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Statisticians to enhance their statistical skills.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. Functional programming is a valuable skill for Software Engineers because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Software Engineers to enhance their software engineering skills.
Web Developer
Web Developers design, develop, and maintain websites and web applications. Functional programming is a valuable skill for Web Developers because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Web Developers to enhance their web development skills.
Financial Analyst
Financial Analysts analyze financial data and make investment decisions. Functional programming is a valuable skill for Financial Analysts because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Financial Analysts to enhance their financial analysis skills.
Data Engineer
Data Engineers design, develop, and maintain data pipelines and data warehouses. Functional programming is a valuable skill for Data Engineers because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Data Engineers to enhance their data engineering skills.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data and make investment decisions. Functional programming is a valuable skill for Quantitative Analysts because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Quantitative Analysts to enhance their quantitative analysis skills.
Actuary
Actuaries use mathematical and statistical models to assess risk and uncertainty. Functional programming is a valuable skill for Actuaries because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Actuaries to enhance their actuarial skills.
Systems Analyst
Systems Analysts analyze business processes and systems, and develop solutions to improve efficiency and effectiveness. Functional programming is a valuable skill for Systems Analysts because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Systems Analysts to enhance their systems analysis skills.
Research Scientist
Research Scientists conduct scientific research and develop new technologies. Functional programming is a valuable skill for Research Scientists because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Research Scientists to enhance their research skills.
Computer Programmer
Computer Programmers write and maintain the code that makes computers work. Functional programming is a valuable skill for Computer Programmers because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Computer Programmers to enhance their programming skills.
Machine Learning Engineer
Machine Learning Engineers design, develop, and maintain machine learning models. Functional programming is a valuable skill for Machine Learning Engineers because it can help them to write code that is more concise, easier to read and maintain, and less error-prone. This course in Functional Programming in Python 3 can help Machine Learning Engineers to enhance their machine learning engineering skills.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Functional Programming in Python 3.
Provides a comprehensive introduction to functional programming in Python, covering the core concepts and techniques. It valuable resource for both beginners and experienced programmers who want to learn more about FP.
Provides a rigorous and detailed treatment of purely functional data structures. It valuable resource for anyone who wants to learn more about the design and implementation of efficient and reliable data structures.
Provides a practical introduction to Haskell, a purely functional programming language. It covers a wide range of topics, from basic syntax to advanced concepts such as monads and type classes.
Provides a gentle introduction to functional programming. It valuable resource for beginners who want to learn the basics of FP.
Provides a comprehensive introduction to programming. It covers a wide range of topics, from basic data structures to advanced concepts such as recursion and concurrency.
Provides a comprehensive guide to software development. It covers a wide range of topics, from basic principles to advanced concepts such as testing and debugging.
Provides a classic introduction to design patterns. It covers a wide range of patterns, from creational to structural to behavioral.
Provides a comprehensive introduction to agile software development. It covers a wide range of topics, from basic principles to advanced concepts such as Scrum and Kanban.
Provides a practical guide to software development. It covers a wide range of topics, from basic principles to advanced concepts such as ethics and professionalism.
Provides a comprehensive introduction to domain-driven design. It covers a wide range of topics, from basic principles to advanced concepts such as aggregates and bounded contexts.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser