Convenciones de nombres en Python (PEP 8): La referencia definitiva

6 min de lectura

PEP 8 es la guía de estilo oficial de Python, y sus convenciones de nombres son seguidas por prácticamente todo proyecto Python. Esta guía cubre todas las reglas que necesitas conocer.

Por qué PEP 8 importa

Python enfatiza la legibilidad. PEP 8 asegura que el código escrito por diferentes desarrolladores se vea y se sienta igual. Linters como flake8, pylint y ruff aplican estas convenciones automáticamente.

Nombres de variables y funciones: snake_case

Todas las variables y funciones usan minúsculas con guiones bajos:

user_name = "Alice"
total_price = 99.95

def get_user_by_id(user_id):
    pass

def calculate_total_price(items):
    pass

Nunca uses camelCase para funciones Python. Escribir getUserById se reconoce inmediatamente como no-Pythonic.

Nombres de clases: PascalCase

Las clases usan CapWords (PascalCase):

class UserAccount:
    pass

class HttpRequestHandler:
    pass

Constantes: SCREAMING_SNAKE_CASE

Las constantes a nivel de módulo usan mayúsculas con guiones bajos:

MAX_RETRY_COUNT = 3
API_BASE_URL = "https://api.example.com"
DEFAULT_TIMEOUT = 30

Nombres de módulos y paquetes

Módulos (archivos): cortos, todo en minúsculas, con guiones bajos si es necesario: utils.py, data_loader.py. Paquetes (directorios): cortos, todo en minúsculas, sin guiones bajos: mypackage.

Nombres de métodos y variables de instancia

Igual que las funciones — snake_case. Un guion bajo inicial para métodos internos (no públicos):

class User:
    def __init__(self, name):
        self.user_name = name
        self._internal_id = generate_id()

    def get_display_name(self):
        return self.user_name

    def _validate(self):
        pass

Casos especiales

PatrónConvenciónEjemplo
Atributo privado_guion_bajo_inicial_internal_cache
Name mangling__doble_guion_bajo_inicial__private_method
Magic / dunder__doble_ambos_lados____init__, __str__
Variable desechableGuion bajo solofor _ in range(10)
Variable de tipoPascalCase, cortoT, KT, VT

Errores comunes

  • Usar camelCase para funciones (getUserName en vez de get_user_name)
  • Usar minúsculas para nombres de clases (user_account en vez de UserAccount)
  • Usar ALL_CAPS para variables normales
  • Nombres de variables de una sola letra fuera de bucles

Convierte tu código rápidamente

¿Migrando desde JavaScript o Java? Usa nuestro conversor snake_case para transformar identificadores camelCase rápidamente. Para nombres de clases, prueba el conversor PascalCase. El hub de conversión te permite comparar todos los formatos a la vez.

Resumen

La nomenclatura PEP 8 es simple: snake_case para casi todo, PascalCase para clases, SCREAMING_SNAKE para constantes. Sigue estas reglas y tu código Python se sentirá natural para todo desarrollador Python.