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 Highlights | Details |
---|---|
Registration Link | Apply Now! |
Price | INR 449 ( |
Duration | 46 Hours |
Rating | 4.8/5 |
Student Enrollment | 47,653 students |
Instructor | Fred Baptiste https://www.linkedin.com/in/fredbaptiste |
Topics Covered | Python Boolean type, Functional programming techniques, Variables, Closures, Modules, and Packages |
Course Level | Intermediate |
Total Student Reviews | 9,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 |
Pre-Requisites | ||
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 | ||
Conditionals | ||
Functions | ||
The While Loop | ||
Break, Continue and the Try Statement | ||
The For Loop | ||
Classes | ||
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 | ||
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 | ||
**kwargs | ||
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 | ||
Callables | ||
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.
Pros
- 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.
Cons
- 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
Parameters | Python 3: Deep Dive (Part 1 – Functional) | Design Patterns in Python | Python 3: Deep Dive (Part 2 – Iteration, Generators) |
---|---|---|---|
Offers | INR 455 ( | INR 455 ( | INR 455 ( |
Duration | 46 hours | 9 hours | 36 hours |
Rating | 4.8 /5 | 4.5 /5 | 4.9 /5 |
Student Enrollments | 47,613 | 20,008 | 28,599 |
Instructors | Fred Baptiste | Dmitri Nesteruk | Fred Baptiste |
Register Here | Apply Now! | Apply Now! | Apply Now! |
Leave feedback about this