Saltar al contenido

Llamar a una función con un número desconocido de parámetros Python

Solución:

En Python, podemos pasar una cantidad desconocida de argumentos a la función usando la notación de asterisco.

Intentemos crear una función sum_up() con un número desconocido de argumentos.

def sum_up(*args):
    s = 0
    for i in args:
        s += i
    return s

Como puede ver, un argumento con un asterisco antes recopilará todos los argumentos dados a esta función dentro de una tupla llamada args.

Podemos llamar a esta función de esa manera:

sum_up(5, 4, 6)  # Gives 15

Pero si queremos resumir elementos de una lista y necesitamos pasarlos a la función como argumentos …

Podemos probar lo siguiente:

l = [5, 4, 6]
sum_up(l)

Esto no dará el efecto que necesitamos: args de sum_up se vera como ([5, 4, 6],). Para hacer lo que queremos, necesitamos poner un asterisco antes del argumento que estamos pasando:

sum_up(*l)  # Becomes sum_up(5, 4, 6)

Todo lo que necesita hacer es recopilar todos los argumentos que desea pasar en una lista y luego poner un asterisco antes de que esta lista pase como argumento dentro de una llamada:

args = [service ['good '] , tip ['average']]
ctrl.Rule(*args)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *