Python II: Deeper Into the Language
For students who've finished the introduction course — a deeper look at Python itself: error handling, functions, iterators, functional-style programming, and object-oriented programming, one small concept at a time.
Included with a subscription44 modules
Course content
- 1. What Can Go Wrong: Introduction to Exceptions
- 2. Catching Exceptions with try/except
- 3. Rounding It Out: else and finally
- 4. Raising Your Own Exceptions
- 5. Tuples
- 6. Unpacking and Multiple Assignment
- 7. Sets
- 8. Dictionary and Set Comprehensions
- 9. Counting and Grouping: Counter and defaultdict
- 10. namedtuple
- 11. deque
- 12. Importing Code from Another File
- 13. if __name__ == "__main__"
- 14. Packages: Organizing Multiple Modules
- 15. Variable-Length Arguments: *args
- 16. Variable-Length Keyword Arguments: **kwargs
- 17. Functions as Values
- 18. Anonymous Functions: lambda
- 19. Closures
- 20. Decorators
- 21. How for Loops Really Work
- 22. Generator Functions: yield
- 23. Generator Expressions
- 24. Using with: Automatic Cleanup
- 25. Writing Your Own Context Manager
- 26. map() and filter()
- 27. functools.reduce()
- 28. Recursion
- 29. Pure Functions and Side Effects
- 30. Putting It Together: Functional-Style Tools in Practice
- 31. What Is a Class? Creating Your First Object
- 32. __init__ and Instance Attributes
- 33. Methods: Giving Objects Behavior
- 34. Class Attributes vs. Instance Attributes
- 35. Static Methods, Class Methods, and Properties
- 36. String Representations: __str__ and __repr__
- 37. Inheritance: Building on Existing Classes
- 38. Overriding Methods and super()
- 39. Comparing Objects: __eq__ and Other Dunder Methods
- 40. Putting It Together: A Small Class Hierarchy
- 41. Custom Exceptions
- 42. Capstone: A Small Multi-Concept Project
- 43. Regular Expressions
- 44. Type Hints