Fonksiyonlardaki parametre yazmak neden göreceli

Merhabalar. Ben şunu merak ediyorum. Aslında merak ettiğim tek şey bu değil de şuan aklımda sürekli soru işareti olarak kalan sorum şu: herhangi bir fonksiyon oluşturduğumuzda örneğin def ornek_1() bu () içine parametreleri neden yazmalıyız? bazen boş bırakıyoruz bazen içine belirli şeyler yazıyoruz. Bu görecelik neden, nasıl ve neye göre değişiyor? yani ben neden parantez içlerine bir parametre yazmalıyım veya neden yazmamalıyım. Öğrenmek istediğim şey bu işin ‘NEDENİ’. Teşekkür ederim şimdiden

https://python-istihza.yazbel.com/fonksiyonlar.html

Merhaba, fonksiyonları fabrika olarak düşün.

Fabrika belli hammaddeleri alarak bize bir ürün verir.

Şimdi kereste fabrikasını düşün. Hammadde olarak kütük alır değil mi?

Bir de bisküvi fabrikası düşün. Onun hammaddesi de süttür.

Biz şimdi iki fabrikaya da kütük verirsek(yani hammaddeler arasında görecelilik olmasaydı) durum nasıl olurdu?
(Herhalde kütüklü bisküvi felan yerdik :sunglasses:)

Fonksiyonlar da aynen böyle. Umarım kafandaki soru işaretlerini giderebilmişimdir.

İyi geceler.

2 Beğeni

Açıklamanız gerçekten çok iyi. Bana ufak bir örnekle gösterirmisiniz sizden rica etsem ?

Mesela atıyorum iki fonksiyon tanımlayalım.

1. fonksiyon
Bize bir metindeki a harfinin sayısını döndürür

def a_sayisini_bul(x):
    a_sayisi = 0
    for i in range(len(x)):
        if x[i] == 'a':
            a_sayisi +=1
    return a_sayisi

2. fonksiyon
Bize bir sayının 2 katını döndürür

def f(x):
    return 2*x

Şimdi biz her iki fonsiyona da sayı girersek f fonksiyonu düzgün çalışırken a_sayisini_bul fonksiyonu amacını gerçekleştiremez.

Bence siz en iyisi ilk cevaptaki linkten fonksiyonlar konusuna tekrar bir bakın.

Fonksiyonun disardan alacagi ve kullanacagi seyler parametre olarak verilmeli. Bitiminde geriye kalacak ve disariya verilecek seyler de return degeri.

Mesela kullanicidan iki sayi alip toplayacak mi? O zaman iki sayiyi iki parametre almali, toplamlarini da return degeri olarak vermeli.

Kullanicidan iki sayi alip toplamlarini ekrana mi yazacak? O zaman iki sayiyi ve yazacagi ekrani parametre olarak almali. Return degeri olmamali.

Bir suru fonksiyon tarafindan ve cok yaygin olarak kullanilan bazi seylerin parametre olarak alinmamasi normal: Toplama islemlerinin bulundugu modul, ekrana yazi yazan modul veya icindeki ekrana yazi yazan fonksiyon, varsayilan ekran. Bir suru dilde fonksiyonun cagiracagi diger fonksiyonlar da parametre olarak verilmiyor.

hepinizin yorumları için teşekkür ediyorum. İyi günler…