logo cosasdedevs
Convención de NOMBRES en PYTHON

Convención de NOMBRES en PYTHON



My Profile
Jul 18, 2021

¡Hola! Esta semana seguimos trabajando en las bases y buenas prácticas con Python y esta vez vamos a ver las convenciones de nombres en Python para nuestras variables, constantes, funciones, etc.

Convenciones más usuales

Antes de meternos en detalle, vamos a explicar las convenciones más utilizadas:

lowerCamelCase

Se crea uniendo palabras en la que la primera letra siempre estará en minúsculas y las siguientes palabras tendrán su primera letra en mayúsculas. Por ejemplo, una función para comprobar el estado de una API podríamos llamarla así con el formato lowerCamelCase:

def comprobarEstadoApi():
    pass

UpperCamelCase

Es similar a lowerCamelCase, pero en este caso, la primera palabra también tendrá su primera letra en mayúsculas. Por ejemplo, una clase para trabajar con la API de Twitter, podríamos llamarla así:

class TwitterApi:
    pass

snake_case

A diferencia de los casos anteriores, aquí uniremos las palabras mediante guiones y siempre en minúsculas. Usando el primer ejemplo para comprobar el estado de una API, lo escribiríamos así con este formato:

def comprobar_estado_api():
    pass

SCREAMING_SNAKE_CASE

En este caso, también uniremos las palabras con guiones, pero a diferencia del snake_case, aquí todas las letras deberán ir en mayúsculas. Esta convención se suele utilizar para declarar constantes:

class TwitterApi:
    VERSION_API = 1
    URL_API = 'https://api.twitter.com'

Ahora que hemos visto las convenciones más usadas (de hecho creo que son todas, si creéis que me he dejado alguna, ponedlo en los comentarios 🙂), vamos a explicar como nombrarlos en Python.

Nombres a evitar

Nunca utilizar los caracteres 'l' (ele en minúsculas), 'O' (el carácter o en mayúsculas para evitar confusiones con el cero) y la 'I' (i latina en mayúsculas, para evitar confusiones con la letra l) cuando declaremos una variable de un solo carácter.

Paquetes y módulos

Los módulos deben tener nombres cortos en minúsculas y solo usar los guiones bajos si mejora la legibilidad.

En el caso de los paquetes, también deberían tener nombres cortos en minúsculas y en este caso se desaconseja utilizar los guiones bajos.

Clases

Los nombres de las clases utilizarán el formato UpperCamelCase.

Excepciones

Al ser clases, deberán usar el formato UpperCamelCase y en el caso de que sea además un error, se añadirá el sufijo Error al final del nombre de la excepción.

Funciones y variables

Las funciones y las variables se deberán escribir en formato snake_case.

Argumentos de funciones y métodos

El primer argumento para instanciar un método siempre será self.

El primer argumento para un método de clase siempre será cls.

Métodos y variables no públicos

Para nombrar un método o variable como protegido (protected), siempre se añadirá como prefijo un guion bajo.

class TwitterApi:
    # Variable protegida
    _saludo = '👋'

    def __init__(self):
        self._escribir_twit()

    # Método protegido
    def _escribir_twit(self):
        print(self._saludo)

twitter_api = TwitterApi()

En el caso de querer declarar métodos o variables privadas, usaremos como prefijo el doble guion bajo.

class TwitterApi:
    # Variable privada
    __saludo = '👋'

    def __init__(self):
        self.__escribir_twit()

    # Método privado
    def __escribir_twit(self):
        print(self.__saludo)

twitter_api = TwitterApi()

Constantes

Las constantes se nombrarán con la convención SCREAMING_SNAKE_CASE.

Y esto es todo por este tutorial, si queréis más información acerca de las convenciones de nombres, os dejo este enlace con la documentación oficial de Python sobre este tema.

Espero que os haya gustado y como siempre, os recomiendo seguirme en Twitter para estar al tanto de los nuevos tutoriales y suscribiros a mi canal de YouTube en el que vamos a extender todos los aprendizajes de este blog.

Nos leemos 👋.

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para mejorar la experiencia del usuario a través de su navegación. Si pulsas entendido aceptas su uso. Ver política de cookies.

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!