Argumentos posicionales, valores por defecto y número variable de argumentos

  • Duración de la lección: 4:37 min

[1]:
#
# Tipos de argumentos
#
def my_function(first_arg, second_arg=2, *args, **kwargs):
    print(" first_arg:", first_arg)
    print("second_arg:", second_arg)
    print("      args:", args)
    print("    kwargs:", kwargs)


#
# Llamada con argumentos posicionales
#
my_function(1, 2)
 first_arg: 1
second_arg: 2
      args: ()
    kwargs: {}
[2]:
#
# Llamada con argumentos por nombre
#
my_function(second_arg=2, first_arg=1)
 first_arg: 1
second_arg: 2
      args: ()
    kwargs: {}
[3]:
#
# Llamada con argumentos extra sin nombre
#
my_function(1, 2, 3, 4)
 first_arg: 1
second_arg: 2
      args: (3, 4)
    kwargs: {}
[4]:
#
# Llamada con argumentos extra con nombre
#
my_function(first_arg=1, second_arg=2, third_arg=3)
 first_arg: 1
second_arg: 2
      args: ()
    kwargs: {'third_arg': 3}
[5]:
#
# Combinacion de los casos anteriores
#
my_function(1, 2, 3, 4, a=5, b=6, c=7)
 first_arg: 1
second_arg: 2
      args: (3, 4)
    kwargs: {'a': 5, 'b': 6, 'c': 7}
[6]:
def my_function(a, b, c):
    return a + b + c


args = {
    "a": 1,
    "b": 2,
    "c": 3,
}

my_function(**args)
[6]:
6