Python Fonksiyonları

Fonksiyon, yalnızca çağrıldığında çalışan bir kod bloğudur.

Veriler (parametre olarak adlandırılır) fonksiyona geçirilebilir.

Fonksiyon, verileri sonuç olarak döndürebilir.

fonksiyon oluşturma

Python'da, def Anahtar kelime ile fonksiyon tanımlama:

Örnek

def my_function():
  print("Hello from a function")

Fonksiyon çağrısı

Fonksiyonu çağırmak için, fonksiyon adını parantezlerle birlikte kullanın:

Örnek

def my_function():
  print("Hello from a function")
my_function()

Örnek Çalıştır

Parametre

Bilgi, fonksiyona parametre olarak geçirilebilir.

Parametreler, fonksiyon adının parantezleri içinde belirlenir. Gerekirse, virgülle ayrılmış olarak herhangi bir sayıda parametre ekleyebilirsiniz.

Aşağıdaki örnek, bir parametre (fname) içeren bir fonksiyon içerir. Bu fonksiyona çağrıldığında, bir isim geçiririz ve fonksiyon içinde bu ismi kullanarak tam ismi yazdırırız:

Örnek

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Örnek Çalıştır

Varsayılan parametre değerleri

Aşağıdaki örnek, varsayılan parametre değerlerinin nasıl kullanılacağını gösterir.

Eğer parametresiz bir fonksiyon çağrıldıysa, varsayılan değeri kullanılır:

Örnek

def my_function(country = "China"):
  print("Ben buradayım " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Örnek Çalıştır

List ile parametre gönderme

Fonksiyona gönderdiğiniz parametreler herhangi bir veri türü olabilir (dizgi, sayı, liste, sözlük vb.) ve fonksiyon içinde aynı veri türü olarak değerlendirilir.

Örneğin, List'i parametre olarak gönderdiğinizde, bu List hala List (list) olacaktır:

Örnek

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Örnek Çalıştır

Dönüş değeri

Fonksiyonun bir değeri döndürmesi gerekiyorsa return İfade:

Örnek

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Örnek Çalıştır

Anahtar Kelime Parametreleri

Ayrıca key = value grameri kullanarak parametre gönderilebilir.

Parametre sırası önemsizdir.

Örnek

def my_function(child3, child2, child1):
  print("En genç çocuk " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Örnek Çalıştır

Python belgelerinde, "Anahtar Kelime Parametreleri" kelimesi genellikle kwargs olarak kısaltılır.

Herhangi bir parametre

Eğer size iletilen fonksiyon parametre sayısını bilmiyorsanız, fonksiyon tanımında parametre adı önüne * ekleyin.

Bu şekilde, fonksiyon bir parametre kümesi alacak ve ilgili maddelere erişebilecektir:

Örnek

Eğer parametre sayısı bilinmiyorsa, parametre adı önüne * ekleyin:

def my_function(*kids):
  print("En genç çocuk " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Örnek Çalıştır

pass ifadesi

Fonksiyon tanımı boş olamaz, ancak bir nedenle boş içerikli fonksiyon tanımı yazdığınızda, hata önlemek için pass ifadesini kullanın.

Örnek

def myfunction:
  pass

Örnek Çalıştır

Yinelenme

Python da fonksiyon yinelenmesini kabul eder, bu da tanımlanan fonksiyonun kendi kendini çağırabileceği anlamına gelir.

Yinelenme, yaygın bir matematik ve programlama kavramıdır. Bu, fonksiyonun kendi kendini çağırması anlamına gelir. Bu yapmanın avantajı, veriye tekrar tekrar erişmek ve sonuç elde etmek için döngüsel olarak erişim sağlamaktır.

Geliştiriciler, yinelenmeyi dikkatlice kullanmalıdır, çünkü kolayca sonsuz döngüye giren veya aşırı miktarda bellek veya işlemci kapasitesi kullanan bir fonksiyon yazabilir. Ancak, doğru yazıldığında, yinelenme, çok etkili ve matematik olarak zarif bir programlama yöntemidir.

Bu örnekte,tri_recursion() Kendi kendini çağıran ("recurse") fonksiyonu olarak tanımlanır. K fonksiyonu olarak kullanırız ve her defasında -1 azalır. Koşul 0'dan büyük olmadıkça (örneğin 0 olduğunda), yinelenme sona erer.

Yeni geliştiriciler için, çalışma prensibini anlamak için biraz zaman gerekebilir, en iyi yöntem onu test etmek ve değiştirmektir.

Örnek

Yinelenen Örnekler:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)

Örnek Çalıştır