Modules & Packages
Standard Library Overview
Python's batteries-included standard library modules
Interview: Knowing key modules saves time in interviews — demonstrates practical Python knowledge
Python's standard library is famously described as "batteries included" — it provides modules for virtually every common programming task. Knowing the key modules and when to use them is a significant productivity advantage and demonstrates practical Python knowledge in interviews.
Essential Modules
- collections: Counter, defaultdict, namedtuple, OrderedDict, deque — enhanced data structures
- itertools: Infinite iterators, combinatoric iterators, chaining, grouping — functional iteration tools
- functools: lru_cache, partial, reduce, wraps — higher-order function utilities
- os/pathlib: File system operations, path manipulation — prefer pathlib for new code
- json: JSON encoding/decoding — essential for API work
- re: Regular expressions — powerful text pattern matching
Data and Math
- math: Mathematical functions — sqrt, ceil, floor, factorial, gcd
- random: Random number generation — choice, shuffle, randint, sample
- statistics: Statistical functions — mean, median, stdev, mode
- decimal: Precise decimal arithmetic — essential for financial calculations
- fractions: Exact rational number arithmetic
System and I/O
- sys: System parameters, argv, path, modules, exit
- subprocess: Running external commands and processes
- logging: Flexible logging framework — preferred over print()
- argparse: Command-line argument parsing
- typing: Type hints for static analysis and IDE support
Know Your Itertools
itertools is one of the most powerful standard library modules. Key functions: chain (concatenate), product (Cartesian product), combinations, permutations, groupby, islice. These often solve interview problems in one line.
Use Cases
Solving coding interview problems with collections, itertools, and functools
Building data processing pipelines with standard library modules
Implementing logging and monitoring in production applications
Working with JSON APIs using the json module
File system operations with pathlib for modern Python
Common Mistakes
Reinventing functionality that already exists in the standard library
Using print() instead of logging — print is for debugging, logging is for production
Not knowing itertools — many combinatoric problems have one-line itertools solutions
Using os.path instead of pathlib — pathlib is the modern, more Pythonic approach
Forgetting about lru_cache — it turns O(2^n) recursive solutions into O(n) with one line