Python Fonksiyonları¶
Bir fonksiyon, yalnızca çağrıldığında çalışan bir kod bloğudur.
Parametreler olarak bilinen verileri bir fonksiyona iletebilirsiniz.
Bir fonksiyon, sonuç olarak verileri döndürebilir.
Bir Fonksiyon oluşturmak¶
Python’da bir fonksiyon, def
anahtar sözcüğünü kullanarak tanımlanır:
Örnek:
def my_function():
print("Hello from a function")
Bir Fonksiyon Çağırma¶
Bir fonksiyonu çağırmak için, fonksiyonun adını ve ardından parantez kullanın:
Örnek:
def my_function():
print("Hello from a function")
my_function()
Parametreler¶
Bilgi fonksiyonlara parametreler yoluyla geçirilebilir.
Parametreler, fonksiyonun adından sonra parantez içinde belirtilir. İstediğiniz kadar parametre ekleyebilirsiniz, sadece virgülle ayırın.
Aşağıdaki örnekte fonksiyonun (fname
) adında bir parametresi vardır. fonksiyon çağrıldığında, girilen bilgileri fonksiyona parametre olarak göndeririz:
Örnek:
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
Varsayılan Değerli Parametre¶
Aşağıdaki örnek, varsayılan bir parametre değerinin nasıl kullanılacağını gösterir. Fonksiyonu parametresiz olarak çağırırsak, varsayılan değeri kullanır:
Örnek:
def my_function(country = "Norway"):
print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
Değer Döndürme¶
Bir fonksiyonun bir değer döndürmesini sağlamak için return
ifadesini kullanın:
Örnek:
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
Lambda Fonksiyonları¶
Python’da, lambda
anahtar kelimesi anonim fonksiyonlar oluşturmak için kullanılır. Bunlar esas olarak önceden tanımlanmış isimler içermez. Uyarlanabilir fonksiyonlar oluşturmak için iyidir ve bu sayede etkinlik yönetimi için iyidir.
Örnek
i’nin 2 ile çarpım değerini döndüren anonim bir fonksiyon:
myfunc = lambda i: i*2
print(myfunc(2))
lambda
tanımlı fonksiyonlar, burada gösterildiği gibi birden fazla tanımlı girişe sahip olabilir:
Örnek:
myfunc = lambda x,y: x*y
print(myfunc(3,6))
Aşağıdaki örnekte gösterildiği gibi, çalışma zamanında anonim fonksiyonlar oluşturduğunuzda, lambda
’nın gücü daha iyi anlaşılır.
Örnek:
def myfunc(n):
return lambda i: i*n
doubler = myfunc(2)
tripler = myfunc(3)
val = 11
print("Doubled: " + str(doubler(val)) + ". Tripled: " + str(tripler(val)))
Burada myfunc
adında tanımlanmış fonksiyonu görüyoruz, which creates an anonymous function that doubles some on-the-fly variable i with a just-in-time variable n representing our multiplier.
We then create two variables doubler and tripler, which are assigned to the result of myfunc passing in 2 and 3 respectively. They are assigned to the generated lambda functions.