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.