Premise:
I am thrilled to introduce an Intermediate Python course. This course was conceived as an extension to the Python Primer available on Mon.school, delving deeper into the intricacies of Python programming. The intention is to allow learners to deepen their understanding, explore advanced concepts, and strengthen their Python skills for real-world applications.
Course Overview:
Module 1: Lists and Tuples
- Understanding Lists and Tuples
- List and Tuple Operations
- Slicing and Indexing
- List Comprehensions
- Mutability and Immutability
Module 2: Dictionaries and Sets
- Working with Dictionaries
- Dictionary Comprehensions
- Sets and Set Operations
Module 3: Strings
- String Manipulation
- String Formatting
Module 4: Lambda Functions
- Introduction to Lambda Functions
- Anonymous Functions
- Using Lambda with Built-in Functions
Module 5: Collections in Python
- Collections Module Overview
- Counter
- defaultdict
- namedtuple
- deque
- OrderedDict
Module 6: Iter Module
- Iterators vs. Iterables
- Creating Custom Iterators
- Itertools Module
Module 7: Decorators
- Function Decorators
- Class Decorators
- Decorator Syntax
Module 8: Generators
- Understanding Generators
- Generator Expressions
- Yield Statement
- Lazy Evaluation
Module 9: Global Interpreter Lock (GIL) in Python
- What is the GIL?
- Implications of the GIL
- Multithreading vs. Multiprocessing
- Mitigating GIL Limitations
Module 10: Context Managers
- Context Managers and the with Statement
- Writing Custom Context Managers
- Using Context Managers with Files, Resources, and Databases
- Practical Applications
Module 11: Data Classes in Python
- Understanding DataClasses
- Comparison and Sorting in Data Classes