Pythonda Parametrlarni Birlashtirish

Xuddi shu funksiyaga bir vaqtning o'zida nomlangan va pozitsion parametrlarni uzatish mumkin. Buning uchun * belgisi qo'llaniladi, bu esa, undan keyin ko'rsatilgan parametrlarni ularning standart qiymatlari ishlatilmasa, nomlangan deb hisoblash kerakligini bildiradi.

Keling, barcha parametrlarni konsolga chiqaradigan funksiya yarataylik. data o'zgaruvchisi oddiy pozitsion parametrni bildiradi. Keyin, * belgisidan so'ng, standart qiymatlarga ega bo'lgan start va end o'zgaruvchilari berilgan. Biroq, funksiyani chaqirishda bu o'zgaruvchilarni nomlangan qilamiz:

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

Kodni bajarish natijasi:

python1 2 3

Agar start o'zgaruvchisining standart qiymatini olib tashlasak va shu bilan birga uni nomlangan parametr sifatida ham olib tashlasak, xatolik paydo bo'ladi. Buning sababi, * belgisi allaqachon start ni nomlangan o'zgaruvchi sifatida belgilagan:

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

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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

Quyidagi kodni bajarish natijasi qanday bo'ladi:

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