Python Fonksiyon Nasıl Tanımlanır

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 🙂

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.