The ‘Python 3: Deep Dive (Part 1 – Functional)’ course gives an in-depth knowledge of Python 3, functional programming, Closures, Modules, and Packages. Students will also learn about advanced usage of Python’s numerical data types (Booleans, Integers, Floats, Decimals, Fraction).

In this course series, Instructor will give you a much more fundamental and deeper understanding of the Python language and the standard library. Instructor will also teach about the Functional programming techniques such as map, reduce, filter, and partials. The course is usually available for INR 2,799 on Udemy but students can click on the link and get the ‘Python 3: Deep Dive (Part 1 – Functional)’ for INR 449.

Who all can opt for this course?

  • Anyone with a foundational knowledge of Python who wishes to advance their knowledge and gain a thorough understanding of the Python language and its data structures
  • Anyone getting ready for a technical Python interview in depth

Course Highlights

Key HighlightsDetails
Registration LinkApply Now!
PriceINR 449 (INR 2,79985% off
Duration46 Hours
Student Enrollment47,653 students
InstructorFred Baptiste
Topics CoveredPython Boolean type, Functional programming techniques, Variables, Closures, Modules, and Packages
Course LevelIntermediate
Total Student Reviews9,489

Learning Outcomes

  • A thorough examination of variables, memory, namespaces, and scopes
  • A thorough examination of Python’s memory management and improvements
  • Comprehensive knowledge and proficiency with Python’s numerical data types (Booleans, Integers, Floats, Decimals, Fractions, Complex Numbers)
  • Knowledge of advanced operators and Boolean expressions
  • Callables with advanced usage, such as functions, lambdas, and closures
  • Techniques for functional programming include map, reduce, filter, and partials
  • Develop sophisticated decorators, such as parametrized, class, and decorator class decorators
  • Applications for advanced decorators, including generic single dispatch and memoization methods
  • Use and comprehend the intricate Python Module and Package system
  • Python idioms and best practises
  • Recognize how Python’s compile-time and run-time effect your code
  • How to avoid the usual pitfalls

Course Content

S.No.Module (Duration)Topics
1.Introduction (19 minutes)Course Overview
Code Projects and Notebooks
Course Slides
2.A Quick Refresher – Basics Review (02 hours 22 minutes)Introduction
The Python Type Hierarchy
Multi-Line Statements and Strings
Variable Names
The While Loop
Break, Continue and the Try Statement
The For Loop
3.Variables and Memory (03 hours 01 minutes)Introduction
Variables are Memory References
Reference Counting
Garbage Collection
Dynamic vs Static Typing
Variable Re-Assignment
Object Mutability
Function Arguments and Mutability
Shared References and Mutability
Variable Equality
Everything is an Object
Python Optimizations: Interning
Python Optimizations: String Interning
Python Optimizations: Peephole
4.Numeric Types (07 hours 54 minutes)Introduction
Integers: Data Types
Integers: Operations
Integers: Constructors and Bases – Lecture
Integers: Constructors and Bases – Coding
Rational Numbers – Lecture
Rationals Numbers – Coding
Floats: Internal Representations – Lecture
Floats: Internal Representations – Coding
Floats: Equality Testing – Lecture
Floats: Equality Testing – Coding
Floats: Coercing to Integers – Lecture
Floats: Coercing to Integers – Coding
Floats: Rounding – Lecture
Floats: Rounding – Coding
Decimals – Lecture
Decimals – Coding
Decimals: Constructors and Contexts – Lecture
Decimals: Constructors and Contexts – Coding
Decimals: Math Operations – Lecture
Decimals: Math Operations – Coding
Decimals: Performance Considerations
Complex Numbers – Lecture
Complex Numbers – Coding
Booleans: Truth Values – Lecture
Booleans: Truth Values – Coding
Booleans: Precedence and Short-Circuiting – Lecture
Booleans: Precedence and Short-Circuiting – Coding
Booleans: Boolean Operators – Lecture
Booleans: Boolean Operators – Coding
Comparison Operators
5.Function Parameters (04 hours 05 minutes)Introduction
Argument vs Parameter
Positional and Keyword Arguments – Lecture
Positional and Keyword Arguments – Coding
Unpacking Iterables – Lecture
Unpacking Iterables – Coding
Extended Unpacking – Lecture
Extended Unpacking – Coding
*args – Lecture
*args – Coding
Keyword Arguments – Lecture
Keyword Arguments – Coding
Putting it all Together – Lecture
Putting it all Together – Coding
Application: A Simple Function Timer
Parameter Defaults – Beware!!
Parameter Defaults – Beware Again!!
6.First-Class Functions (05 hours 18 minutes)Introduction
Docstrings and Annotations – Lecture
Docstrings and Annotations – Coding
Lambda Expressions – Lecture
Lambda Expressions – Coding
Lambdas and Sorting
Challenge – Randomize an Iterable using Sorted!!
Function Introspection – Lecture
Function Introspection – Coding
Map, Filter, Zip and List Comprehensions – Lecture
Map, Filter, Zip and List Comprehensions – Coding
Reducing Functions – Lecture
Reducing Functions – Coding
Partial Functions – Lecture
Partial Functions – Coding
The operator Module – Lecture
The operator Module – Coding
7.Scopes, Closures and Decorators (08 hours 34 minutes)Introduction
Global and Local Scopes – Lecture
Global and Local Scopes – Coding
Nonlocal Scopes – Lecture
Nonlocal Scopes – Coding
Closures – Lecture
Closures – Coding
Closure Applications – Part 1
Closure Applications – Part 2
Decorators (Part 1) – Lecture
Decorators (Part 1) – Coding
Decorator Application (Timer)
Decorator Application (Logger, Stacked Decorators)
Decorator Application (Memoization)
Decorators (Part 2) – Lecture
Decorators (Part 2) – Coding
Decorator Application (Decorator Class)
Decorator Application (Decorating Classes)
Decorator Application (Dispatching) – Part 1
Decorator Application (Dispatching) – Part 2
Decorator Application (Dispatching) – Part 3
8.Tuples as Data Structures and Named Tuples (03 hours 31 minutes)Introduction
Tuples as Data Structures – Lecture
Tuples as Data Structures – Coding
Named Tuples – Lecture
Named Tuples – Coding
Named Tuples – Modifying and Extending – Lecture
Named Tuples – Modifying and Extending – Coding
Named Tuples – DocStrings and Default Values – Lecture
Named Tuples – DocStrings and Default Values – Coding
Named Tuples – Application – Returning Multiple Values
Named Tuples – Application – Alternative to Dictionaries
9.Modules, Packages and Namespaces (05 hours 43 minutes)Introduction
What is a Module?
How does Python Import Modules?
Imports and importlib
Import Variants and Misconceptions – Lecture
Import Variants and Misconceptions – Coding
Reloading Modules
Using __main__
Modules Recap
What are Packages? – Lecture
What are Packages ? – Coding
Why Packages?
Structuring Packages – Part 1
Structuring Packages – Part 2
Namespace Packages
Importing from Zip Archives
10.Python Updates (02 hours 14 minutes)Python 3.10
Python 3.9
Python 3.8 / 3.7
Python 3.6 Highlights
Python 3.6 – Dictionary Ordering
Python 3.6 – Underscores in Numeric Literals
Python 3.6 – Preserved Order of kwargs and Named Tuple Application
Python 3.6 – f-Strings
11.Extras (03 hours 01 minutes)Introduction
Additional Resources
Random: Seeds
Random Choices
Random Samples
Timing code using *timeit*
Don’t Use *args and **kwargs Names Blindly
Command Line Arguments
Sentinel Values for Parameter Defaults
Simulating a simple switch in Python

Resources Required

  • Basic familiarity with Python programming (variables, conditional statements, loops, functions, lists, tuples, dictionaries, classes)
  • Python 3.6 or later is required, along with your choice of development environment (command line, PyCharm, Jupyter, etc.)

Featured Review

Joshua Yoo (5/5) : Best. If you want to know how to think in python, this is the best way.


  • Jose Briz (5/5) : Finding this a great resource to have in my course library!
  • Fabian Tolgyi (5/5) : Has to be on of the best courses on python on Udemy.
  • Robert Gaskell (5/5) : They are excellent and I intend to use them as a reference for years to come.
  • Dimitrij Kolni?enko (5/5) : Fred is definitely a very good and knowledgable teacher! Have learned a lot.


  • Nitin Jain (1/5) : There should be some option/link for basic/pre-requisite python so that beginner can also take this course without much trouble.
  • Nitin Jain (1/5) : Rating will go up & down when learner move-on through the course.
  • Nitin Jain (1/5) : Well rating was given based on questions asked by Udemy & that have some other factor also.

About the Author

The instructor of this course is Fred Baptiste who is a Professional Developer and Mathematician. With 4.8 Instructor Rating and 15,754 Reviews on Udemy, he/she offers 5 Courses and has taught 57,092 Students so far.

  • Fred Baptiste is the instructor of this course
  • Instructor have over 25 years of professional programming experience in a variety of technologies and languages, including Python, Go, Net (C# and VB), Java, C++, and JavaScript to name a few, as well as relational SQL databases like MS SQL Server and Postgres as well as No-SQL databases like Clickhouse, MongoDB, Couchbase, and Neo4j
  • Instructor began his career with a PhD in mathematics
  • Since 2011, Instructor have been mostly using Python for data engineering and REST API development
  • Instructor like to share what he has learned with you after putting a lot of time and effort into learning Python in-depth and developing idiomatic Python
  • For a variety of reasons, Instructor is undeniably a Python enthusiast, and he would like to share his enthusiasm with you as well!

Comparison Table

ParametersPython 3: Deep Dive (Part 1 – Functional)Design Patterns in PythonPython 3: Deep Dive (Part 2 – Iteration, Generators)
OffersINR 455 (INR 2,799) 85% offINR 455 (INR 3,499) 87% offINR 455 (INR 3,499) 87% off
Duration46 hours9 hours36 hours
Rating4.8 /54.5 /54.9 /5
Student Enrollments47,61320,00828,599
InstructorsFred BaptisteDmitri NesterukFred Baptiste
Register HereApply Now!Apply Now!Apply Now!

Leave feedback about this

  • Rating