En
python para todos te da un paseo rápido por varios módulos.
En la practica vas aprendiendo los módulos que vas utilizando. Eso si te recomiendo hecharle un vistazo rápido a todos los módulos. Y cuando te encuentre trabajando en X o Y proyecto recordaras. Hey! existe un modulo que me puede ayudar en esto.
https://docs.python.org/2/library/index.html
Y realmente no siempre te aprendes todo el modulo solamente las funciones mas destacables de cada modulo.
Algunos de los módulos nativos que mas he usado:
* json
* datetime
* time
* sqlite3
* itertools
* math
* fractions
* decimal
* re
* random
* collections
* csv
* hashlib
* os
* sys
* threading
* sockets
* select
* StringIO
Cada modulo/librería que aprendes es porque ya dominas el tema o al menos tienes la idea general. No te a poner programar cosas con threads si no entiendes como funcionan los threads en general. O usar, sockets y no saber ni que es una IP.
En mi opinión la necesidad de resolver un problema es lo que te orilla a aprender del tema, usar una librería y en los casos especiales hasta crear tu propia librería.
PD: También existen paquetes/módulos/librerías creadas por terceros mucho mas pragmaticas o robustas que algunas librerías nativas de python. Ejemplos (requests, envoy, lxml, numpy, ipython, etc...)