Combinação de parâmetros em Python

É possível passar parâmetros nomeados e posicionais para a mesma função simultaneamente. Isso é feito usando o símbolo *, que indica que os parâmetros especificados à sua direita devem ser considerados nomeados, a menos que seus valores padrão não precisem ser usados.

Vamos criar uma função que irá exibir todos os parâmetros no console. A variável data representará um parâmetro posicional comum. Em seguida, após o símbolo *, são definidas duas variáveis start e end com valores padrão. No entanto, ao chamar a função, vamos tornar essas variáveis nomeadas:

pythondef func(data, *, start=0, end=100):
  print(data, start, end)
  
func(1, start=2, end=3)

Resultado da execução do código:

python1 2 3

Se removermos o valor padrão da variável start e, ao mesmo tempo, não a fornecermos como um parâmetro nomeado, ocorrerá um erro. Isso acontece porque o símbolo * já definiu start como uma variável nomeada:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # irá gerar um erro
Задание 1

Qual será o resultado da execução do seguinte código:

pythondef func(num1, num2, *, num3):
  return (num1 + num2) * num3
  
print(func(2, 4, num3=3))
Задание 2

Qual será o resultado da execução do seguinte código:

pythondef func(num1, *, num2, num3):
  return (num1 - num2) / num3
  
print(func(12, 4, num3=5))
Задание 3

Qual será o resultado da execução do seguinte código:

pythondef func(*, name='user1', age='18'):
  return 'Username is ' + name + ' age is ' + age
  
print(func(name='john'))