Kombinasi Parameter dalam Python

Ke dalam fungsi yang sama, kita dapat secara bersamaan melewatkan parameter bernama dan posisional. Hal ini dilakukan dengan menggunakan simbol *, yang menandakan bahwa parameter yang ditentukan di sebelah kanannya harus dianggap sebagai parameter bernama, jika nilai defaultnya tidak perlu digunakan.

Mari kita buat sebuah fungsi yang akan menampilkan semua parameter di konsol. Variabel data akan mewakili parameter posisional biasa. Selanjutnya, setelah simbol *, ditentukan dua variabel start dan end dengan nilai default. Namun, saat memanggil fungsi, kita akan menjadikan variabel-variabel ini sebagai parameter bernama:

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

Hasil eksekusi kode:

python1 2 3

Jika nilai default variabel start dihapus dan pada saat yang sama variabel tersebut tidak ditulis sebagai parameter bernama, maka akan muncul error. Ini terjadi karena simbol * telah mendefinisikan start sebagai variabel bernama:

pythondef func(data, *, start, end=100):
  print(data, start, end)
  
func(1, 2, end=3) # akan menampilkan error
Задание 1

Berapa hasil eksekusi kode berikut:

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

Berapa hasil eksekusi kode berikut:

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

Berapa hasil eksekusi kode berikut:

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