Python Fonksiyonları
- Önceki Sayfa Python For Döngüsü
- Sonraki Sayfa Python Lambda
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()
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")
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")
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)
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))
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")
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")
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
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)
- Önceki Sayfa Python For Döngüsü
- Sonraki Sayfa Python Lambda