Combinazione di parametri in Python

Nella stessa funzione è possibile passare contemporaneamente parametri nominati e posizionali. Ciò viene fatto utilizzando il simbolo *, che indica che i parametri specificati alla sua destra devono essere considerati nominati, se i loro valori predefiniti non devono essere utilizzati.

Creiamo una funzione che stampi tutti i parametri nella console. La variabile data rappresenterà un normale parametro posizionale. Successivamente, dopo il simbolo *, vengono definite due variabili start e end con valori predefiniti. Tuttavia, quando chiamiamo la funzione, rendiamo queste variabili nominati:

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

Risultato dell'esecuzione del codice:

python1 2 3

Se si rimuove il valore predefinito della variabile start e allo stesso tempo non la si specifica come parametro nominato, verrà visualizzato un errore. Ciò accade perché il simbolo * ha già definito start come una variabile nominata:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # darà un errore
Задание 1

Quale sarà il risultato della seguente esecuzione di codice:

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

Quale sarà il risultato della seguente esecuzione di codice:

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

Quale sarà il risultato della seguente esecuzione di codice:

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