Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Parámetros nombrados Python: Funciones

Existen varios métodos para pasar datos a las funciones, y uno de los más básicos es el uso de parámetros posicionales.

Parámetros posicionales

Los parámetros posicionales funcionan según el orden en el que aparecen en la definición de la función. Cuando llamamos a una función y le pasamos valores, estos se asignan a los parámetros en el mismo orden en el que fueron definidos.

def add(x, y):
    return x + y

Diferencia entre parámetros y argumentos:

  • Parámetros: los nombres en la definición de la función (x y y en este caso).
  • Argumentos: los valores reales que se pasan al llamar la función.

Ejemplo de llamada con argumentos:

add(10, 20)  # x = 10, y = 20

Argumentos nombrados

En Python, además de los parámetros posicionales, existen los argumentos nombrados (keyword arguments). Son útiles cuando la función tiene muchos parámetros del mismo tipo.

def calculate(base, sub, mul):
    return (base - sub) * mul

Llamada a la función con parámetros posicionales:

calculate(10, 3, 2)  # 14

👀 Problema: No es evidente qué valor representa cada parámetro.

Para mayor claridad, usamos argumentos nombrados:

calculate(base=10, sub=3, mul=2)  # 14

Incluso podemos cambiar el orden de los argumentos:

calculate(mul=2, sub=3, base=10)  # 14

Python asocia los valores por nombre, no por posición, lo que hace que el código sea más legible.

Cuándo usar argumentos nombrados

No hay reglas estrictas, pero se recomienda:

✅ Usarlos cuando la función tiene más de tres parámetros.

✅ Usarlos si los parámetros tienen el mismo tipo de datos para evitar confusión.

make('circle', 300, 150, 10, None, 2.5, False)

Ejemplo más legible con argumentos nombrados:

make(
    shape='circle',
    x=300, y=150, radius=10,
    line_pattern=None,
    line_width=2.5,
    fill=False
)

Este código es mucho más fácil de entender.

Valores por defecto en parámetros

A veces, ciertos parámetros de una función siempre tienen los mismos valores. Por ejemplo:

  • open() abre archivos en modo lectura por defecto.
  • print() añade un salto de línea automáticamente.

Podemos establecer valores por defecto en los parámetros:

def calculate(base, sub, mul=1):
    return (base - sub) * mul

Ejemplo:

calculate(10, 3, 2)  # Usa el valor dado: 14
calculate(10, 3)  # Usa el valor por defecto (mul=1): 7

⚠️ Orden de argumentos: Los argumentos posicionales deben ir antes de los argumentos nombrados, de lo contrario, Python lanzará un error:

calculate(base=10, 3)  
# ❌ SyntaxError: positional argument follows keyword argument

Argumentos solo nombrados

En Python, podemos exigir que ciertos parámetros solo puedan pasarse por nombre (keyword-only). Esto se logra usando * en la firma de la función.

def open_file(name, *, writable=False, binary=False):
    ...

Ejemplos de llamadas válidas:

f1 = open_file('foo.txt', writable=True)  
f2 = open_file('bar.bin', binary=True)

Ejemplo con error:

f3 = open_file('raw.dat', True, True)  
# TypeError: open_file() takes 1 positional argument but 3 were given

Aquí * separa los parámetros posicionales de los estrictamente nombrados (writable y binary). Esto evita errores y hace que el código sea más claro.

También podemos definir funciones con solo argumentos nombrados:

def configure(*, debug=False, logging=True):
    ...

En este caso, configure() solo puede llamarse con argumentos nombrados:

configure(debug=True, logging=False)  # Correcto
configure(True, False)  # Error

Resumen

  • Parámetros posicionales: Se asignan según el orden en la llamada a la función.
  • Argumentos nombrados: Se asignan por nombre, mejorando la claridad del código.
  • Valores por defecto: Permiten omitir parámetros opcionales.
  • Keyword-only arguments: Se pasan obligatoriamente por nombre, evitando ambigüedades.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY