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
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))
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))
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'))