Python'da Parametrelerin Birleştirilmesi

Aynı fonksiyona aynı anda hem isimlendirilmiş hem de konumsal parametreler iletilmesi mümkündür. Bu, * sembolü kullanılarak yapılır, bu sembol, sağında belirtilen parametrelerin varsayılan değerlerinin kullanılması gerekmiyorsa, bu parametrelerin isimlendirilmiş olarak kabul edilmesi gerektiğini belirtir.

Tüm parametreleri konsola yazdıracak bir fonksiyon oluşturalım. data değişkeni, normal bir konumsal parametreyi temsil edecek. Sonrasında, * sembolünden sonra varsayılan değerlere sahip iki değişken start ve end tanımlanır. Ancak, fonksiyonu çağırırken bu değişkenleri isimlendirilmiş yapalım:

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

Kodun çalıştırılmasının sonucu:

python1 2 3

start değişkeninin varsayılan değeri kaldırılır ve aynı zamanda isimlendirilmiş parametre olarak belirtilmezse, bir hata oluşur. Bunun nedeni, * sembolünün start değişkenini zaten isimlendirilmiş bir değişken olarak tanımlamış olmasıdır:

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

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

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

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

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

Aşağıdaki kodun çalıştırılmasının sonucu ne olacak:

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