Advanced Python Exercises
Table of Contents
1. Topics
- Decorators
- Introduced in Python 2.4 (2005)
- Similar concepts: Annotations (Java), Attributes (C#)
- Generators
- Introduced in Python 2.2 (2001)
- Similar concepts: Iterator (Java), IEnumerable (C#)
- Context Managers
- Introduced in Python 2.5 (2006)
- Similar concepts: try-with-resources (Java), using (C#)
- Metaclasses
- Introduced in Python 2.2 (2001)
- Similar concepts: Reflection (Java), Reflection (C#)
- Descriptors
- Introduced in Python 2.2 (2001)
- Similar concepts: Property (C#), Getter/Setter (Java)
- Abstract Base Classes (ABC)
- Introduced in Python 2.6 (2008)
- Similar concepts: Interface (Java), Abstract Class (C#)
- Coroutines and Asynchronous Programming
- Coroutines introduced in Python 2.5 (2006)
- Async/await syntax introduced in Python 3.5 (2015)
- Similar concepts: Coroutines (C#), CompletableFuture (Java)
- Operator Overloading
- Introduced in Python 1.0 (1994)
- Similar concepts: Operator Overloading (C++), Operator Overloading (C#)
- Advanced List Comprehensions and Generator Expressions
- List comprehensions introduced in Python 2.0 (2000)
- Generator expressions introduced in Python 2.4 (2005)
- Similar concepts: Stream API (Java), LINQ (C#)
- Closures
- Introduced in Python 2.2 (2001)
- Similar concepts: Lambda Expressions (Java), Anonymous Functions (C#)
2. Instructions
For each topic, complete the exercise in the corresponding Python file. The exercises are designed to help you practice and understand the advanced Python language features.
3. Resources
3.1. Official Documentation
3.2. Books
- Fluent Python by Luciano Ramalho
- Python Workout by Reuven M. Lerner
- Practices of the Python Pro by Dane Hillard
- Effective Python: 90 Specific Ways to Write Better Python by Brett Slatkin
- Python Cookbook by David Beazley and Brian K. Jones
- Python Tricks: A Buffet of Awesome Python Features by Dan Bader
3.3. Online Tutorials and Courses
3.4. Blogs and Articles
3.5. Communities and Forums
3.6. Podcasts
3.7. YouTube Channels
- Python Documentation: https://docs.python.org/
- Real Python: https://realpython.com/