İhtiyaca yönelik düzenli bir kod bloğunu tanımlayıp kullanabilmeniz içindir. Fonksiyonlar, modülerlik ve yüksek derecede yeniden kullanım sağlar.
Python içerisinde birden çok fonksiyon hazır olarak gelmektedir. Geliştiricilerde kendi ihtiyaçlarına yönelik kendi fonksiyonlarını tanımlayabilirler.
Fonksiyon Tanımlama
- Python’da her bir fonksiyon ( ve ) işareti barındırır.
- Geliştirici kendi fonksiyonunu tanımlamak için
def
ön ekini kullanılır. def
ön ekinden sonra fonksiyon tanımlamak için özel bir isim verilir. (Verilen isim türkçe karakter ve özel karakter içermemelidir.)- Fonksiyon içerisinde kullanılması gereken her türlü değişken fonksiyona ait olan parantezler içerisine gönderilir.
- Python içerisinde fonksiyon tanımlarken parantez içerisinde parantez kullanmakta mümkündür.
- Tanımlanan fonksiyon içerisindeki kod bloklarını göstermek için iki nokta üst üste konur.
- Fonksiyon tanımlanırken belirtilen parametrelerin sıralaması önemlidir. Tanımlarken belirtilen sırılamanın aynısı kullanım esnasında da geçerlidir.
return
ifadesi ile fonksiyon sonucunda oluşturulan değer dışarı döndürülür. Eğer dışarı döndürülecek bir değer yoksareturn
tek başına kullanılır.
ÖRNEK TANIMLAMA:
def gelenDegiskeniGonder( str ): print (str) return
Fonksiyon Çağırma
Fonksiyon tanımlanırken belirtilen isim ile fonksiyon çağırılır.
ÖRNEK ÇAĞIRMA:
gelenDegiskeniGonder("Merhaba Dünya!")
Fonksiyon çağırırken dikkat edilecek hususlar:
- Fonksiyon tanımlanırken belirtilen gerekli bağımsız değişkenler, aynı sırayla çağırılırken de eksiksiz kullanılmalıdır.
- Bağımsız değişkenlere varsayılan bir değer atanırsa fonksiyon çağırılırken varsayılan değeri olan parametreler kullanılmasa da olur.
ÖRNEK:
def bilgiGoster( ad, yas = 35 ): print ("ADI: ", ad) print ("YAŞ: ", yas) return bilgiGoster( yas = 50, ad = "miki" ) printinfo( ad = "miki" )
- Anahtar sözcük ile adlandırılanmayan değişkenleri de fonksiyona gönderebilmek için ilgili parametre tanımlanırken önüne * işareti konur.
ÖRNEK:
def geleniGoster( arg1, *vartuple ): print ("İlk parametrenin Değeri: ") print (arg1) for var in vartuple: print (var) return geleniGoster( 10 ) geleniGoster( 70, 60, 50 )
Anonim Fonksiyonlar
Tek satır üzerinden hızlı fonksiyon tanımlamak için kullanılan yöntemdir.
lambda
ön eki tanımlaması ile kullanılır.- Anonim fonksiyonlar herhangi bir sayıda argüman alabilir. Ancak bir ifade biçiminde sadece bir değer döndürür. Komut veya birden çok ifade içeremezler.
- Lambda işlevlerinin kendi yerel ad alanları vardır ve parametre listelerindeki ve genel ad alanındaki olanlar dışındaki değişkenlere erişemezler.
- Amacı, performans nedeniyle çağırma sırasında işlevi geçerek ayırmayı istiflemektir.
ÖRNEK KULLANIM:
toplam = lambda arg1, arg2: arg1 + arg2 print ("Değerlerin toplamı : ", toplam( 10, 20 )) print ("Değerlerin toplamı : ", toplam( 20, 20 ))