Python Fonsiyonlar
Yazdığımız bir python uygulamasındaki belli bir kod parçasını bir kaç yerde kullanma ihtiyacı duyduğumuzda fonksiyon oluşturmak işlerimizi kolaylaştırır. Böyle durumlarda sürekli kullanacak olduğumuz kod satırlarını fonksiyonlar içine alıp istediğimiz zaman çağırıp çalıştırabiliriz.Örneğin basit bir matematiksel işlem yapacağız ve bir çok yerde bu matematiksel işlemi tekrarlayacağız bu durumda bir fonksiyon oluşturup defalarca kullanabiliriz.
Ayrıca işin daha güzel yani Python da hazır bir çok kütüphane var ve bu kütüphaneler içinde önceden oluşturulmuş bir sürü fonksiyon mevcut. Çoğu zaman fonksiyonun içeriğini yazmak yerine hazır olanını kullanabileceğiz. Örneğin gönderdiğimiz bir sayının karakökünü alan sqrt() fonksiyonu.
Peki gelin Fonksiyon oluşturmaya başlayalım.
Fonksiyon Tanımlama
Fonksiyon tanımlamak için def komutunu kullanıyoruz.Örnek
hello() isminde basit bir fonksiyon tanımladık ve artık fonksiyonumuz çalıştırılmayı bekliyor.def hello():
print("Merhaba")
Fonksiyon Çağırma
Fonksiyonları tanımlıyoruz ancak çağrılmadıkça fonksiyon bloğu içerisindeki kodlar çalıştırılmaz. Fonksiyonu çağırmak için fonksiyonun ismi ile birlikte parantezleri kullanmalıyız.Örnek
Gördüğünüz gibi fonksiyon çağrıldığında ekrana Merhaba yazar. Fonksiyonu her çağırdığımızda kodlar tekrar çalıştırılacağından dolayı ekrana Merhaba yazmaya devam edecektir.def hello():
print("Merhaba")
hello() # Merhaba
Örnek
hello() # Merhaba
hello() # Merhaba
hello() # Merhaba
hello() # Merhaba
Fonksiyona Parametre Gönderme
Fonksiyonlara dışarıdan bilgi gönderip fonksiyon içerisinde kullanabiliriz.Örnek
Örnekte olduğu gibi dışarıdan name parametresini fonksiyona gönderip kullanabiliriz.def hello(name):
print("Merhaba "+ name)
hello("PcPassW0lf") # Merhaba PcPassW0lf
Fonksiyondan Geriye Bilgi Gönderme
Fonksiyon içerisinde print() ile bilgi yazdırmak yerine bilgiyi geriye de döndürebiliriz.Örnek
Gördüğünüz gibi print ile bilgiyi fonksiyon içerisinde yazdırmak yerine "Merhaba Arda" bilgisini fonksiyondan geriye return komutu ile döndürdük ve sonrasında bilgiyi ekrana yazdırdık.def hello(name):
return "Merhaba "+ name
print(hello("PcPassW0lf")) # Merhaba PcPassW0lf
Örnek
toplama fonksiyonu dışarıdan a ve b parametrelerini bekler ve gönderdiğimiz değerleri fonksiyon içerisinde toplar ve sonucu 30 olarak geriye döndürür, sonrasında fonksiyondan gelen değeri sonuc değişkenine alabiliriz.def toplama(a,b):
return a+b
sonuc = toplama(10,20)
print(sonuc) # 30
Fonksiyondan Fonksiyon Çağırma
Bazen tanımladığımız bir fonksiyonu başka bir fonksiyon içerisinde kullanmak isteyebiliriz.Örnek
Gördüğünüz gibi 3 kişi için yaş hesaplama işlemini tek bir yasHesapla fonksiyonu ile yapabildik. Eğer ki hesaplanan yaş bilgisine göre emekliğe kalan süre hesabını da hesaplamak istersek bu durumda başka bir fonksiyon kullanabiliriz.def yasHesapla(dogumYili):
return 2019 - dogumYili
ageCinar = yasHesapla(2017)
ageAda = yasHesapla(2010)
ageSena = yasHesapla(1999)
print(ageCinar, ageAda, ageSena)
Genişletmek için tıkla ...
def EmekliligeKacYilKaldi(dogumYili, isim):
yas = yasHesapla(dogumYili)
emeklilik = 65 - yas
if emeklilik > 0:
print(f'emekliliğinize {emeklilik} yıl kaldı')
else:
print('Zaten emekli oldunuz')
EmekliligeKacYilKaldi(1983, 'Ali')
EmekliligeKacYilKaldi(1950, 'Ahmet')
EmekliligeKacYilKaldi(1974, 'Yağmur')
Genişletmek için tıkla ...
Ekran çıktısı;
Ali emekliliğinize 29 yıl kaldı
Ahmet Zaten emekli oldunuz
Yağmur emekliliğinize 20 yıl kaldı
Python Fonksiyon Örnekleri
1- Gönderilen bir kelimeyi belirtilen kez ekranda gösteren python fonksiyonunu yazınız.Ekrana 10 kere Merhaba yazar.def yazdir(kelime, adet):
print(kelime * adet)
yazdir('Merhaba\n', 10)
** \n bir alt satıra geçmek için kullanılır.
2- Gönderilen 2 sayı arasındaki tüm asal sayıları bulan python fonksiyon uygulamasını yapınız.
def asalSayılariBul(sayi1, sayi2):
for sayi in range(sayi1, sayi2+1):
if sayi > 1:
for i in range(2, sayi):
if (sayi % i == 0):
break
else:
print(sayi)
sayi1 = int(input('sayı 1:'))
sayi2 = int(input('sayı 2:'))
asalSayılariBul(sayi1, sayi2)
Genişletmek için tıkla ...
3- Kendisine gönderilen bir sayının tam bölenlerini bulan python uygulamasını yapınız.
def tamBolenleriBul(sayi):
tamBolenler = []
for i in range(2, sayi):
if (sayi % i == 0):
tamBolenler.append(i)
return tamBolenler
print(tamBolenleriBul(20))
Genişletmek için tıkla ...
İYİ FORUMLAR


