Advanced python series by https://theschoolof.ai/
Phase I of the course comprises 16 sessions each focused on a particular topic and corresponding assignment. Each assignment is designed very thoughtfully making one go to the depth all the associated technical concepts. Assignment evaluation is carried out with comprehensive pytest scenarios executed with Github workflow. The first phase of the course is concluded with a capstone project by building next generation AI-based Learning Management Studio - XMS using Django web development framework in collaborative fashion.
Basics: Python Type Hierarchy, Multi-line statements and strings, Variable Names, Conditionals, Functions, The While Loop, Break Continue and the Try Statement, The For Loop and Classes
Object Mutability and Interning: Variables and Memory References, Garbage Collection, Dynamic vs static Typing, Variable Re-assignment, Object Mutability, Variable Equality, Everything is an Object and Python Interning
Numeric Types I: Integers, Constructors, Bases, Rational Numbers, Floats, rounding, Coercing to Integers and equality
Numeric Types II: Decimals, Decimal Operations, Decimal Performance, Complex Numbers, Booleans, Boolean Precedence and Comparison Operators
Functional Parameters: Argument vs Parameter, Positional and keyword Arguments, Unpacking Iterables, Extended Unpacking, _*args, Keyword Arguments, _**kwags, Args and Kwargs together, Parameter Defaults and Application
First Class Functions Part I: Lambda Expressions, Lambdas and Sorting, Functional Introspection, Callables, Map, Filter, Zip and List Comprehension
First Class Functions Part II: List Comprehension, Reducing functions, Partial Functions, Operator Module, Docstrings and Annotations.
Scopes and Closures: Global and Local Scopes, Nonlocal scopes, Closures, and Closure Applications
Decorators: Decorators and Decorator applications (timers, logger, stacked decorators, memoization, decorator class and dispatching)
Tuples and Named Tuples: Tuples, Tuples as data structures, named Tuples, DocStrings, and Application
Modules, Packages and Namespaces: Module, Python Imports, importlib, import variants, reloading modules, main, packages, structuring, and namespaces
fStrings, Timing Functions and Command Line Arguments: Dictionary Ordering, kwargs, tuples, fStrings, Timing Functions and Command Line Arguments
Sequence Types I: Sequence Types, Mutable Sequence Types, List vs Tuples, Index Base and Slice Bounds, Copying Sequence and Slicing
Sequence Types II and Advanced List Comprehension: Custom Sequences, In-place Concatenation and Repetition, Sorting Sequences, List Comprehensions + Small Project
Iterables and Iterators: Iterating Collections, Iterators, Iterables, Cyclic Iterators, in-built Iterators, iter() function and iterator applications
Generators and Iteration Tools: Yielding and Generator Functions, Generator Expressions, Yield From, Aggregators, Chaining and Teeing, Zipping and their applications
Context Managers: Context Managers, Lasy Iterators, Generators and Context Managers, Nested Context Managers and their application
Data Pipelines: Data Pipeline and application
Phase-II on advanced OOPs and Pytorch is starting early August and the assignments will be updated in another repo.