Módulo 1 · Lección 8 de 59
Comentarios y estilo
Cómo escribir comentarios que sirvan de algo y las convenciones de PEP 8 que sigue toda la comunidad de Python.
Comentarios#
Todo lo que va después de una almohadilla # lo ignora Python por completo. Sirve para dejar notas a quien lea el código, que muchas veces serás tú dentro de tres meses.
# Esto es un comentario de línea completa
precio = 19.99 # y esto un comentario al final de una líneaPara comentar varias líneas, se pone una almohadilla en cada una. En los editores hay un atajo: selecciona las líneas y pulsa Ctrl + 7 o Cmd + /, según el teclado.
Comentarios buenos y comentarios inútiles#
El error clásico de quien empieza es explicar qué hace el código. Eso ya lo dice el código:
# Mal: el comentario no aporta nada
contador = contador + 1 # suma uno al contador
precio_final = precio * 1.21 # multiplica el precio por 1.21Lo que el código no puede contar es el porqué:
# Bien: explica una decisión que no es evidente
precio_final = precio * 1.21 # IVA general español, vigente desde 2012
# Bien: avisa de algo no obvio
respuesta = respuesta.strip() # el formulario web añade espacios al final
# Bien: deja constancia de algo pendiente
# TODO: validar que la fecha no sea futura antes de guardarComentar para depurar#
Un uso práctico: desactivar una línea temporalmente sin borrarla.
resultado = calcular_total(pedido)
# print(f"{resultado=}") # lo dejo por si vuelvo a necesitarloSolo recuerda limpiarlos antes de dar el trabajo por terminado.
PEP 8: el estilo oficial#
PEP 8 es el documento que define cómo se escribe Python "bonito". No es obligatorio, pero lo sigue prácticamente todo el mundo, y si te acostumbras desde hoy no tendrás que desaprender nada.
Sangría: cuatro espacios#
if edad >= 18:
print("Mayor de edad") # exactamente cuatro espaciosNunca tabuladores, y nunca mezcles ambos. Configura tu editor para que la tecla Tab inserte cuatro espacios; Visual Studio Code con la extensión de Python ya lo hace.
Espacios alrededor de los operadores#
# Bien
total = precio * cantidad
if edad >= 18 and tiene_carnet:
# Mal
total=precio*cantidad
if edad>=18 and tiene_carnet:Pero no dentro de los paréntesis ni antes de una coma:
print("hola", nombre) # bien
print( "hola" , nombre ) # malNombres#
| Qué | Cómo | Ejemplo |
|---|---|---|
| Variables y funciones | minúsculas con guion bajo | precio_total, calcular_iva |
| Constantes | mayúsculas con guion bajo | IVA_GENERAL, MAX_INTENTOS |
| Clases | cada palabra en mayúscula, sin guiones | CuentaBancaria |
| Uso interno | empezando por guion bajo | _contador |
Líneas cortas#
La recomendación clásica es no pasar de 79 caracteres; hoy mucha gente usa 88 o 100. El objetivo real es que quepan en pantalla sin desplazamiento horizontal. Para partir una línea larga, usa paréntesis:
mensaje = (
f"El pedido {numero} de {cliente} "
f"por importe de {total:.2f} euros "
f"se ha registrado correctamente."
)Líneas en blanco#
Una línea en blanco separa bloques lógicos dentro de un mismo trozo de código. Dos separan funciones y clases. No dejes tres o cuatro seguidas.
nombre = input("Nombre: ").strip()
edad = int(input("Edad: "))
precio_base = 100
descuento = 0.15
precio_final = precio_base * (1 - descuento)
print(f"{nombre}, pagas {precio_final:.2f} euros")Estructura recomendada de un fichero#
"""Calculadora de presupuestos para el curso de Python.
Pide los datos de un producto y muestra el desglose con IVA.
"""
import math
IVA = 0.21
DESCUENTO_MAXIMO = 0.5
nombre = input("Producto: ").strip()
precio = float(input("Precio sin IVA: "))
total = precio * (1 + IVA)
print(f"{nombre}: {total:.2f} euros con IVA")El texto entre triples comillas del principio se llama docstring y explica para qué sirve el fichero entero. A diferencia de un comentario, Python lo conserva y se puede consultar con help(). Lo veremos otra vez, y en profundidad, en la lección de funciones.
El orden habitual es: docstring, importaciones, constantes y después el código.