Citando https://www.python.org/dev/peps/pep-0008/#package-and-module-names :
Los módulos deben tener nombres cortos, todo en minúsculas. Se pueden usar guiones bajos en el nombre del módulo si mejora la legibilidad. Los paquetes de Python también deben tener nombres cortos en minúsculas, aunque se desaconseja el uso de guiones bajos.
Para las clases :
Los nombres de clase normalmente deberían usar la convención CapWords.
Y los nombres de funciones y variables (locales) deben ser:
minúsculas, con palabras separadas por guiones bajos según sea necesario para mejorar la legibilidad
Vea esta respuesta para la diferencia entre un módulo, clase y paquete:
- Un módulo de Python es simplemente un archivo fuente de Python, que puede exponer clases, funciones y variables globales.
- Un paquete de Python es simplemente un directorio de módulos Python.
Entonces PEP 8 te dice que :
- los módulos (nombres de archivo) deben tener nombres cortos en minúsculas y pueden contener guiones bajos;
- los paquetes (directorios) deben tener nombres cortos en minúsculas , preferiblemente sin guiones bajos;
- las clases deberían usar la convención CapWords.
PEP 8 dice que los nombres deben ser cortos ; Esta respuesta ofrece una buena visión general de qué tener en cuenta al crear nombres de variables, que también se aplican a otros nombres (para clases, paquetes, etc.):
- los nombres de las variables no son descriptores completos;
- poner detalles en los comentarios;
- un nombre demasiado específico puede significar un código demasiado específico;
- mantenga alcances cortos para una búsqueda rápida;
- Pase tiempo pensando en la legibilidad.
Para finalizar, se ofrece una buena visión general de las convenciones de nomenclatura en la Guía de estilo de Google Python .
FooBar
yFooBiz
ambas pueden ir en el archivosomepkg/foobar.py
(por lo tanto:)from somepkg.foobar import FooBar
pero la claseTimerError
podría ir enexcept/timer_error.py
(por lo tantofrom except.timer_error import TimerError
), ya que eliminarCamelCase
la palabra a veces hace que la palabra sea más difícil de leer, por lo tanto,snake_case
puede usarse para el nombre del archivo.