Python'da Fonksiyon Parametreleri

by trustix


Eklenme Tarihi : 20 Aralık 2020 19:54 Views:     475



Python'da Fonksiyon Nedir?

Fonksiyon, temel olarak belirlenmiş bir iş için yazılmış kod veya kod bloklarıdır. Bir fonksiyon bir amaç için yazılır. Yazıldıktan sonra programın herhangi bir yerinde birden çok kez kullanılabilir.

Tanımlanmış bir fonksiyonun çalıştırılması için yazılmasına "fonksiyon çağırma" denir. Bir fonksiyon tanımlandığı zaman çalışmaz. Fonksiyonun çalışması için çağrılması zorunludur. Bir fonksiyonun bir program veya programlama süreci içerisinde defalarca çağrılması mümkündür. Fonksiyon çağrılmadığı sürece bellekte bir kullanım alanı oluşmaz.

 

Python'da Fonksiyon Türleri

Python programlama dili geliştiricilere temel olarak üç farklı fonksiyon türü kullanımına izin vermektedir. Bu fonksiyon türlerinden ilki print(), len(),  enumerate() gibi  Python programlama dilinin kendi parçası olan ve "gömülü/yerleşik fonksiyonlar" olarak adlandırılan türüdür. İkincisi kullanıcı ya da geliştiricilerin tanımladıkları ve bir amaç için kullandıkları, "kullanıcı tanımlı fonksiyonlar" olarak adlandırılan türüdür. Üçüncüsü ise yine kullanıcıların tanımladıkları ancak tanımlarken def anahtar kelimesini kullanmadıkları için "lambda fonksiyonları" olarak adlandırılan türüdür.

 

Python'da Fonksiyonlar, Parametreler ve Bağımsız Değişkenler/Argümanlar

Parametreler ve bağımsız değişkenler Python programlama ile ilgilenen birçok insanın aynı şeyi ifade etmek için kullandıkları iki kavramdır. Ancak bu iki kavram temelde birbirinden farklıdır. Parametreler bir fonksiyon tanımlanırken parantezler içerisine yazılan ve fonksiyonun kaç farklı değişkene sahip olacağını belirten ifadelerdir. Bağımsız değişkenler/argümanlar ise tanımlanmış bir fonksiyonun çağrılırken parametreler yerine verdikleri ve değer içeren ifadelerdir. Aşağıdaki örnekleri inceleyerek bunu daha iyi anlayabiliriz.

# Python fonksiyonlarında parametreler/bağımsız değişkenler


# parantez içerisine yazılan a,b,c ifadeleri birer parametredir.
def fonksiyon(a, b, c):
    d = a * b * c
    return d


# fonksiyonu çağırırken verdiğimiz 1, 2, 3 değerleri ise bağımsız değişkenler ya da argümanlardır.
result = fonksiyon(1,2,3)

print(result)
# Output: 6
  

 

 
# Python fonksiyonlarında parametreler/bağımsız değişkenler


def message(name): # name ifadesi bir parametredir.
    return name


print('Merhaba' + message('Melisa')) # Melisa ifadesi bir bağımsız değişken ya da argümandır.
  

 

Python Fonksiyonlarında Bağımsız Değişken Türleri

Fonksiyonlar parametre alabilen ve parametre alamayan olarak ikiye ayrılmaktadır. Ayrıca parametre alabilen fonksiyonların bu parametrelere göre alabilecekleri değişkenlere göre farklı farklı türleri vardır. Bağımsız değişkenlerine göre Python'da fonksiyonlar üç başlık altında incelenebilir.

1- Varsayılan Bağımsız Değişkenler

# Python Fonksiyonlarında Bağımsız Değişken Türleri
# 1- Varsayılan Bağımsız Değişkenler

"""
    Bir fonksiyon tanımlarken bazı parametrelere
    göre tanımlandığını biliyoruz. Bu parametreler
    fonksiyon çağrıldığında bir bağımsız değişkene dönüşmekte
    ve fonksiyon bu bağımsız değişkene göre çalışmaktadır.
    Ancak bazı durumlarda fonksiyon çağrılırken herhangi
    bir bağımsız değişken değeri belirtilmeyebilir ya da
    geliştirici buna izin verebilir. Böyle durumlarda
    fonksiyona parametre verirken varsayılan bir değer
    verilebilir. Bu durumda fonksiyon çağrılırken
    herhangi bir değişken belirtilmese bile fonksiyon
    varsayılan değeri kullanarak çalışacaktır.
    Bu durumu şöyle düşünebilir. Tanıdığımız
    insanlara seslenirken isimlerini kullanırız. Ancak
    tanışmadığız ve adını henüz bilmediğimiz bir kişiye
    seslenmek durumunda kaldığımızda bu kişi bir erkek
    ise ona yönelerek 'beyefendi', eğer bu kişi bir kadın ise
    'hanımefendi' kelimelerini kullanarak sesleniriz. Fonksiyonlarda
    parametreler belirtilirken varsayılan değişken atamasıda bunun
    gibidir.
    Örneğin:
"""

# varsayılan değerler için = ifadesinden sonra değişken değeri belirtilir.
def message(name='hanımefendi'):

    return 'Merhaba ' +  name



print(message())

# Output: Merhaba hanımefendi

"""
    Şöyle bir örnek üzerinden gidelim. Sadece kadınların kayıt olabileceği
    düşünülen bir forum ya da platform üzerinde çalışıyoruz.
    Girişte kullanıcıdan bir isim bilgisi istiyoruz ancak
    bu bilgiyi opsiyonel olarak talep ediyoruz.
    Bu durumda kişi adını girdiğinde adıyla birlikte merhaba
    ifadesi ile kullanıcı sistem tarafından karşılanacaktır.
    Kullanıcı isim bilgisini girmedeğinde ise genel bir kullanım
    olan hanımefendi şeklinde bir karşılama mesajı çıkaracaktır.
"""

 

Varsayılan bir değişken ile tanımlanan fonksiyonlarda dikkat edilecek olan nokta şudur. Eğer bir parametreye varsayılan bir bağımsız değişken ya da argüman atanacaksa, kendisine varsayılan değer verilen parametre diğer parametrelerden sonra kullanılmalıdır. Aksi taktirde bir syntax hatası ile karşılaşılır.

Örneğin:

# Python Fonksiyonlarında Bağımsız Değişken Türleri
# 1- Varsayılan Bağımsız Değişkenler

"""
    Eğer bütün parametrelere varsayılan bir değişken ataması
    yapılmayacaksa, varsayılan değer belirtilen parametre
    ya da parametreler diğer parametrelerden sonra yazılmalıdır.
"""

def toplama_1(a=4, b): # hatalı kullanım.
    return a + b


def toplama_2(b, a=4): # doğru kullanım
    return a + b

  

 

2- Anahtar İfadeli Bağımsız Değişkenler

# Python Fonksiyonlarında Bağımsız Değişken Türleri
# 2- Anahtar İfadeli Bağımsız Değişkenler

"""
    Python fonksiyonlarında parametreleri verilerek
    tanımlanmış bir fonksiyona verilecek değişkenler
    belli bir sıraya göre atanmak durumundadırlar.
    Ancak  değişkenler atanırken parametre ifadesi
    referans gösterilirse bu sıralama önemini kaybeder.
    Örneğin:
"""

def sayilar_1(x, y, z): # üç parametreli bir fonksiyon tanımlıyoruz.
    return x + y + z


print(sayilar_1(3,7,10))
# sıralamaya göre x parametresine 3
# y parametresine 7
# z parametresine ise 10 değeri bir değişken olarak atanmış oldu
# Output : 20



def sayilar_2(a, b, c):
    return a + b + c


print(sayilar_2(c=7, a=5, b =10))
# parametre ifadeleri referans gösterilerek bağımsız değişkenler atanabilir
# Output: 22
  

 

3- Değişken Uzunluklu Bağımsız Değişkenler

# Python Fonksiyonlarında Bağımsız Değişken Türleri
# 3- Değişken Uzunluklu Bağımsız Değişkenler

"""
    Python'da fonksiyonlar amacına göre
    belirli parametreler ile yazılırlar.
    Ancak bazı durumlarda bir fonksiyonun kaç
    tane değişkene göre çalışacağını belirlemek zor olabilir.
    Fonksiyon süreç içerisinde iki, üç, dört
    farklı bağımsız değişkeni alarak
    yazılma amacını yerine getirebilir.
    Böyle durumlarda fonksiyonu tanımlarken
    parametre ifadelerinin başına bir(*)
    veya iki(**) yıldız ekleyerek çok sayıda
    bağımsız değişkenin bu parametrelere atanacağını
    belirtebiliriz. Çok değişkenli parametre ifadelerinin
    belirlenmesi kullanıcı ya da geliştiriciye bağlıdır.
    Ancak bu durumlarda bir standart olarak *args
    ve **kwargs ifadeleri kullanılmaktadır.
    *args ifadesi birden fazla bağımsız değişkeni
    bir demet veri tipi içine aktarmaya olanak tanır.
    **kwargs ifadesi ise
    birden fazla bağımsız değişkeni direkt kelime olarak
    almaya olanak tanımaktadır.
    Örneğin:
"""


def fonksiyon(arg, **kwargs):
    print(arg)
    for anahtar, deger in kwargs.items():
        print("%s = %s" % (anahtar, deger))

 


fonksiyon("Merhaba", birincibolum='Sayın', ikincibolum='Seyirciler')

"""
    Fonksiyonumuzu tanımlarken bir bağımsız değişken
    alabilen arg ifadesi ile bir parametre
    birden çok bağımsız değişken alabilen
    **kwargs ifadesi ile de ikinci
    parametremizi yazdık. Daha sonra fonksiyonumuzu
    çağırırken 'Merhaba' ifadesini otomatik olarak
    sıra kuralından dolayı arg ifadesine değişken
    olarak atamış olduk. Sonraki iki bağımsız değişken
    ise **kwargs ifadesine bağımsız değişken olarak 
    atanmış oldular.
    En nihayetinde fonksiyonumuz aşağıdaki sonucu üretmektedir.

    Output:
        Merhaba
        birincibolum = Sayın
        ikincibolum = Seyirciler

"""

 

Evet arkadaşlar fonksiyonlarda parametrelerin ve bağımsız değişkenlerin kullanımına örnekler üzerinden değinmiş olduk.

def test(**kwargs):

    for i, j in kwargs.items():
        print("%s = %s" % (i, j))




test(a='Herkese', b='İyi', c='Kodlamalar')


  

 





0

Yorum Formu

vikikod.com    © 2019