Skip to content

markvan/learn-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Learning Path

This repository provides a comprehensive path for Python re-familiarization, from basics to advanced concepts.

It is open sourced using CC0.

Current Structure

  • 010-020: Fundamentals (data types, control structures)
  • 030-037: Functions and type system
  • 040-047: Object-Oriented Programming
  • 050-060: Modules and libraries
  • 070+: Advanced topics

Suggested Additions for Intermediate Python Coverage

New Notebooks to Add:

  1. 025 Advanced Data Structures (Priority: High)

    • Collections module (defaultdict, Counter, OrderedDict)
    • heapq module
    • bisect module
    • Advanced list/dict comprehensions
  2. 055 File Operations and Context Managers (Priority: High)

    • Advanced file operations
    • Context managers (with statement)
    • Creating custom context managers
    • File-like objects
  3. 065 Decorators and Metaprogramming (Priority: High)

    • Function decorators
    • Class decorators
    • Decorator factories
    • Metaprogramming basics
  4. 075 Advanced Exception Handling (Priority: Medium)

    • Custom exceptions
    • Exception hierarchies
    • Context managers for error handling
    • Best practices
  5. 080 Iterators and Generators (Priority: High)

    • Iterator protocol
    • Generator functions and expressions
    • yield and yield from
    • Memory efficiency

Additions to Existing Notebooks:

  1. In 040 classes.ipynb:

    • Abstract Base Classes (ABC)
    • Multiple inheritance
    • Method Resolution Order (MRO)
    • Metaclasses
    • Properties and descriptors
  2. In 045 objects.ipynb:

    • Object serialization
    • Pickling and unpickling
    • Deep vs shallow copy
    • Memory management
  3. In 060 libraries and imports.ipynb:

    • Package organization
    • Relative imports
    • Import hooks
    • Namespace packages
  4. In 070 concurrency.ipynb:

    • asyncio basics
    • Async/await syntax
    • Threading vs Multiprocessing
    • Concurrent.futures

See the numbered Jupyter notebook names for current materials.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published