def etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
def etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Ekim 2011 Pazartesi

Fonksiyonlar-1

Fonksiyonlarla devam ediyoruz...

Fonksyionlar kod tekrarlarımızı yapmamızı önleyen kodlardır.

Basit bir fonksiyon oluşturalım..

KOD

def fonksiyon():
    print("Python programlama dili")


hemen burada yaptıklarımızı açıklayalım.
fonksiyonlar  def  parçacığı ile oluşturulur yani standart koddur.

def'den sonraki fonksiyon ise oluşturacağımız fonksiyonun ismidir.
Sizin seçiminize göre değişir.
son olarak fonksiyonun içinde 'Python programlama dili' ni yazdırma komutu verdik
Bu fonksiyonu her çağırdığımızda  'Python programlama dili' ni ekrana yazacaktır.

KOD-->fonksiyon çağırma

fonksiyon()
Python programlama dili-->ekran çıktısı


Parametlerinin kullanımını görelim.

KOD
def parametreler(x,y):
    print(x+y)

parametreler(34,23)
67--->ekran çıktısı

Parametleri parantez içerisinde belirliyoruz.
Yukarıdaki kodda 2 sayının toplama işlemini yaptık.Burada 2 sayı
kullanıdık,arttırması yada azaltması size kalmış.



Örneklerle devam edelim...

KOD

def karşılaştırma(a,b):
    if a>b:
        print(a,"büyüktür",b,"den")
    elif a==b:
        print(a,"eşittir",b)
    else:
        print(b,"büyük",a,"dan")


Yukarıdaki kodlar gireceğimiz iki sayının karşılaştırmasını yapacaktır.

Örnek Ekran çıktısı

KOD
karşılaştırma(4,5)


5 büyüktür 4 den-->ekran çıktısı



Şimdi fonksiyonların yerel-kısmi değişkenlerini göreceğiz.

KOD

y=10
def yerel(y):
    print("ilk y=",y)
    y=5
    print("yeni y=",y,"dir")


yerel(y)


ilk y= 10 ----->ekran çıktısı
yeni 5 dir


Burada yaptığımız fonksiyon içinde y mizi değiştirdik.Ama bu işlem de y
sadece fonksiyon kullanıldığında yeni değeri alacaktır.

yani

KOD

print(y)

10-->ekran çıktısı

yukarıdaki gibi ilk değerini verecektir.Eğer bunu kalıcı
değiştirmek istiyorsak...

KOD
x=50
def kalıcı():
    global x
    print("ilk a=",a)
    a=100
    print("Son a=",a)


kalıcı()

İlk a=20
Son a=100 ---->ekran çıktıları

yukarıdaki kodda kullandığımız yeni bir kod var:global
Bu kodu kullanarak değiştirdiğimiz sayıyı kalıcı olarak değiştirebiliriz.
Yani

KOD

print(x)

100-->ekran çıktısı


ekran çıktısını verecektir.Halbuki ilk olarak x' 50 tanımlamıştık.
global ifadesinden sonra 100 tanımladığımız için artık 100 değeri x'e atanmış oldu.



Şimdi dışarıda tanımlamadan direk fonksiyon içinde tanımlayarak bu işlevi
nasıl gerçekleştireceğimizi görelim...


KOD

def lokalolmayan():
    x=45
    print("ilk x=",x)
    def lokalolmayan1():
        nonlocal x
        x=456
    lokalolmayan1()
    print("Son x=",x)


Burada fonksiyon içinde fonksiyon oluşturarak x değişkenimizi değiştirmiş olduk.
Bundan sonra x'in değerini çağırırsak hata alacağız.Çünkü dışarıda
herhangi bir x tanımlamadık.

Bu dersimiz bu kadar,2. bölümde görüşmek üzere...

Fonksiyonlar-2

Fonksiyonlara 2.bölümde devam ediyoruz...


Şimdi varsayılan parametre belirlemeyi göreceğiz.

önekle başlayalım

KOD

def konus(isim,sayı=2):
    print(isim*sayı)


konus("python")

pythonpython--->ekran çıktısı


konus("python",5)
pythonpythonpythonpythonpython---->ekran çıktısı



Kelime argümnalarına geçelim.Bunlar fonksiyonumuza normal veya 2 tane
parametre girmemizi sağlıyor.

KOD

def sayılar(x,y=2,z=5):
    print("x--->",x,"y--->",y,"z--->",z)


sayılar(4)

x---> 4 y---> 2 z--->5   --->ekran çıktısı


sayılar(2,z=45)


x---> 2 y---> 2 z--->45   --->ekran çıktısı


Fonksiyonumuza istediğimiz sayıda argüman verebiliriz.

KOD

def limitli(x,y,z)
    print(x*y*z)

limitli(4,5,6)

120 ---->ekran çıktısı


Şimdi özel bir fonksiyon kullanacağız:sum
Bu kodun görevi belirli bir liste içindeki sayıraı toplamamızı sağlar.


KOD
liste=[1,9,5]
sum(liste)

15--->ekran çıktısı


İstediğimiz sayıda parametre oluşturma...

KOD

def adlar(isim,*isimler):
    print("Sıralı argüman:",isim)
    print("Sırasız argüman:",*isimler)


adlar("ali","veli","ışık","ayşe","ahmet")
Sıralı argüman: ali              --->ekran çıktısı
Sırasız argüman: veli ışık ayşe ahmet

burada istediğimiz sayıda argüman girmemize yardımcı olan
*isimler  kodudur.


Burada listede kullanabiliriz...

KOD

liste=["x","y","z","a","b","c"]


adlar(liste)

Sıralı argüman: ['x', 'y', 'z', 'a', 'b', 'c']
Sırasız argüman:        --->ekran çıktısı

adlar(*liste)

Sıralı argüman: x
Sırasız argüman: y z a b c    --->ekran çıktısı


return ifadesi
Fonksiyonumuza bir değeri döndürmemizi yada değer üretmemizi sağlıyor.

KOD
def min(a,b):
    if a>b:
        return b
    else:
        return a

min(4,5)
4


pass ifadesi
Boş ifadeyi belirtmekte kullanılır.

KOD
def boşfonksiyon():
    pass

boşfonksiyon()--->Bu kod ekran çıktısı vermeyecektir.

böylelikle boş bir fonksiyon oluşturmuş olduk.

doc ifadesi
Fonkiyonları belgelendirmeye yarar.Yani pythonu daha iyi anlamamızı sağlar.


KOD

def hesap(a,b):
    '''Küçük olanı ekran çıktısı verecektir...'''
    if a>b:
        print(b)
    else:
        print(a)

hesap(667,456)
456--> ekran çıktısı

şidmi belgelendirme yapalım

KOD

print(hesap.__doc__)

Küçük olanı ekran çıktısı verecektir...-->ekran çıktısı

fonksiyonumuzn ne işe yaradığını bize bilgi olarak verir.
Bunun dışında normal standart ifadelere de uygulayabiliriz.
Örnek:

KOD

print(print.__doc__)


print(value, ..., sep=' ', end='n', file=sys.stdout)

Prints the values to a stream, or to sys.stdout by default.--->ekran çıktısı
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep:  string inserted between values, default a space.
end:  string appended after the last value, default a newline.

son olarak (print.__doc__) ifadesinde doc'un enünde ve arkasında
2 tane alt tire(_) vardır.

Fonksiyonlar dersimiz burada sona erdi,sonraki derslerde görüşmek üzere.