Python fonksiyon, metotlar, prosedürler hepsi aynı işlevde farklı programlama dillerinde kullanılan olmazsa olmaz yapılarımızdandır arkadaşlar. Fonksiyonları kısaca ana program altında çalışan alt program blokları olarak düşünebiliriz. Python dilinde fonksiyon tanımlarken def komutunu kullanıyoruz arkadaşlar.
def merhaba(): ( "Kaizen") yazdırmak
Basitce yukarıdaki gibi merhaba() isminde bir fonksiyon tanımladık içine de print(“kaizen”) yazdık. Bu programı çalıştırdıktan sorna shell ekranında merhaba() yazarak fonksiyonu çağırabiliriz. Bu sayede ekranda kaizen yazısını göreceğiz. Kısaca mantık bu.
================ RESTART: C: \ Kullanıcılar \ kullanıcı \ Desktop \ test.py ================ >>> merhaba () kaizen
Şimdi biraz daha detayıa inelim. Fonksiyonların içine parametre ekleyebilirsiniz. Fonksiyonun parantezi içine yazdığınız değerler parametre olarak kabul edilir. Fonksiyon içinde kullanılabilir.
def kisi_getir(isim, soyisim, yas): yazdır ("isim:", isim) print("soyisim :", soyisim) baskı ("yas:", yas) >>> kisi_getir ("riza", "koc", "46") isim : riza soyisim : koc yas: 46
Fonksiyonlar aynı işlevi bir çok yerde bir çok kez yaptırmak istediğinizde çok işinize yaramaktadır. Örneğin bir hesap yaptıracaksınız bir kez yazıp fonksiyon olarak tanımladığınızda programın istediğiniz yerinden çağırabilir ve kullanabilirsiniz.
def alan_hesapla(en, boy): en * çocuk döndür
Bu örnekte return komutu ile hesapladığımız alan değerini geri döndürüyruz. Bu sayede hesaplanan değeri kullanabilmemiz mümkün olmaktadır. Aşağıdaki örnekte daha iyi anlamışsınızdır umarım.
================ RESTART: C: \ Kullanıcılar \ kullanıcı \ Desktop \ test.py ================ >>> alan_hesapla(5,4) 20 >>> 15 + alan_hesapla(5,4) 35
Başka bir örnekte print fonksiyonunu kullanalım;
def dog_bul (satın alma): sonuc = "{} sayısının karesi {} sayısıdır" yazdır (sonuç.format (sayı, sayı 2))
Burada tek bir parametremiz var. Girilen sayının karesini alan ve ekrana hem girilen sayıyı hem de karesi yazan bir print fonksiyonumuz var. İç içe fonksiyonlar tanımlayabiliriz arkadaşlar.
>>> kare_bul (5)
5 sayısının karesi 25 sayısıdır
for döngüsünü öğrenmiştik arkadaşlar. eğer len() fonksiyonunu bilmiyorsanız ki, bunuda daha önce görmüştük bir karakter dizisinin uzunluğunu bize döndüren fonksiyon idi, kendi karakter uzunluğu hesaplayan fonksiyonunu yapabilirsiniz. Tamamen örnek olsun diye yazıyorum hiç gerek yok yapmanıza 🙂
def uzunluk(kelime): i = 0 s in kelimesi için: i + = 1 Baskı, (i)
Sonuç olarak for döngüsü ile kelime olarak belirtiğimiz karakter dizimizin karakter karakter tek tek saydırarak i değişkenimizi bir arttırıyoruz ta ki, en son karaktere gelene kadar.
>>> uzunluk ("sldkfhasjkldf") 13
Tek * ve çift ** parametreleri
Fonksiyonların parametre sayılarını istediğiniz kadar girebilirisiniz arkadaşlar. Bazı özel fonksiyonlarda parametre sınır olabilir. * karakteri kullanarak tanımladığımız bir fonksiyon içine istediğimiz kadar parametre yazabiliriz.
def func(*parametreler): print(parametreler) >>> func (1,2,5,4,7) (1, 2, 5, 4, 7)
Örneğin bir çarpma fonskiyonu yapalım,
def çarp(*sayılar): sonuç = 1 sayılar için ben: sonuç *= i print(sonuç) >>> çarp (2,3,4,5) 120
Hatırlarsanız print fonksiyonunu öğrenirken * karakterini görmüştük. Karakter dizilerini tek tek ayırarak aralarına farklı karakterler koymuştuk. Kısaca aşağıdaki örnekte hatırlayalım.
>>> liste = ["uçak", "gemi", "araba"] >>> baskı (liste) ['uçak', 'gemi', 'araba'] >>> baskı (* liste) uçak gemi araba
Sağ tarafına koyarsak çarparak ekrana bastığını da hatırlayalım.
>>> baskı ("-" * 30) ------------------------------
** çift yıldız karakteri kullanırsak arkadaşlar hem parametre ismini hemde değerini atamış oluruz. Python dilinde geleneksek olarak *args ve **kwargs isimlerinde sınırsız sayıda parametre değeri kullanılmaktadır.
def kayıt_oluştur(**kwargs): Baskı (kwargs) >>> kayıt_oluştur(isim="remzi", soyad="hoş") {'isim': 'sema', 'soyad': 'remzi'}
Başlangıç seviyesi için fonksiyonlarla bu kadar uğraşmak bece yeterli. Zamanla daha da derinlere beraberce ineriz. Yada beni beklemeyin siz direk dalın 🙂
0 yorum