Ders Notu
Parametreler ve Argümanlar
Parametreler, fonksiyon tanımlarken parantez içinde belirtilen, fonksiyon gövdesinde yapılan işin değişken öğelerini gösteren parçalardır.
def topla(sayi1, sayi2):
toplam = sayi1 + sayi2
print(toplam)
Burada topla() adlı bir fonksiyon tanımlanmıştır. Bu fonksiyon iki adet parametre almaktadır: sayi1 ve sayi2. Parametrelere ne ad verildiğinin bir önemi yoktur ancak paramtetrenin görevine uygun bir isim vermek fonksiyonun okunaklılığını artıracaktır.
Parametre adı belirleme kuralları değişken adı belirleme kurallarıyla aynıdır. Dolayısıyla bir değişken adı belirlerken neye dikkat ediliyorsa, parametre adı belirlerken de aynı şeye dikkat edilmelidir.
def topla(sayi1, sayi2):
toplam = sayi1 + sayi2
print(toplam)
topla(2,3)
Bu kodlarda görülen "2" ve "3" değerlerine argüman adı verilir. Yani bir fonksiyon tanımlanırken belirlenen adlara parametre, aynı fonksiyonu çağırırken verilen değerlere argüman denir.
Sıralı Parametre
Python’da, veriliş sırası önem taşıyan parametrelere "sıralı parametreler" (isimsiz parametreler) adı verilir. Bu tür parametrelere sahip fonksiyonlarda argümanlar parametre sırasına göre yazılmalıdır. Aksi halde veriler arasında karmaşıklık meydana gelecektir.
def bilgiler(ad, soyad, sehir):
print("Ad : ", ad)
print("Soyad : ", soyad)
print("Şehir : ", sehir)
bilgiler("Ahmet", "Bulut", "Ankara")
İsimli Parametre
Bir fonksiyonu çağırırken parametrelerin sırasını doğru vermek, alınacak çıktının düzgün olması bakımından büyük önem taşımaktadır. Ancak özellikle parametre sayısının çok olduğu fonksiyonlarda parametre sırasını akılda tutmak zor olabilir. Böyle durumlarda argümanları parametre isimleri ile birlikte kullanmak tercih edilebilir.
def bilgiler(ad, soyad, sehir):
print("Ad : ", ad)
print("Soyad : ", soyad)
print("Şehir : ", sehir)
bilgiler(sehir="Ankara", ad="Ahmet", soyad="Bulut")
Rastgele Sayıda Parametre
Pek çok fonksiyonun toplam kaç parametre alacağı baştan belli olsa da kimi gömülü ve özel fonksiyonların kaç tane parametre ile çalışacağı belli olmayabilir. Fonksiyona kaç tane argüman iletileceğinin bilinmediği bu tür durumlarda, fonksiyon tanımında parametre adından önce bir * eklenmelidir. Bu sayede fonksiyon tuple türünde argümanları alacak ve buna göre öğelere erişebilecektir.
def topla(*sayilar):
toplam = 0
for i in sayilar:
toplam += i
print(toplam)
topla(2,3)
topla(5,12,13)
topla(10,20,30,40)
Ekran Çıktısı:
5
30
100