Python'daki fonksiyonlar ve kullanımı hakkındaki en güncel bilgileri bu makalede bulabilirsiniz Python dili üzerinde fonksiyonların nasıl kullanıldığına ve sık kullanılan fonksiyonlar hakkında ayrıntılı bilgilere ulaşabilirsiniz Kapsamlı bir Python fonksiyonlar rehberi için hemen tıklayın!

Python programlama dilinde fonksiyonlar, tekrar kullanılabilen kod bloklarıdır. Fonksiyonlar, belirli bir görevi yerine getiren kodu içinde barındıran, çağrılmaları halinde çalışan ve sonuç döndüren yapılardır.
Fonksiyonlar, kod tekrarını azaltarak programlarımızı daha okunaklı ve yönetilebilir hale getirmemizi sağlar. Özellikle büyük projelerde fonksiyon kullanmak, kodun daha düzenli ve sürdürülebilir olmasını sağlar.
Python'da dahili olarak birçok fonksiyon bulunmaktadır. Bunlar, print(), len(), type() gibi basit fonksiyonlar olabilirken, range(), list(), dictionary() gibi kapsamlı fonksiyonlar da bulunmaktadır. Bunların kullanımı, programlama sürecini kolaylaştırır ve hızlandırır.
Ayrıca, Python'da kendi fonksiyonlarımızı da yazabiliriz. Bu fonksiyonlar, belirli bir görevi yerine getiren kod bloklarıdır ve bu kod bloğunu çağırdığımızda çalıştırılır. Kendi fonksiyonlarımızı yazarak, programın kapsamını daha da genişletebilir ve kod tekrarını azaltabiliriz.
Fonksiyon Nedir?
Python programlama dili, fonksiyonları kullanarak tekrar eden işlemleri yönetmek ve programları daha okunaklı hale getirmek için kullanılır. Fonksiyonlar, modüler programlama yapısı içinde kullanılır ve kod tekrarını önlerler. Python'da bir fonksiyon, adı belirlenmiş, parametrelerle veya parametresiz olan ve bir işlevi yerine getiren özellikler taşıyan bir bloktur.
Bir fonksiyonu tanımlarken, 'def' anahtar kelimesini kullanarak başlatmalısınız. Fonksiyonlar, bir ana bloktan ayrılır ve bir fonksiyon çağrıldığında çalıştırılır. Fonksiyonlar, kodunuzu daha düzenli ve anlaşılır hale getirir ve sık sık kullanılan işlemleri kolayca yürütmenize izin verir.
Fonksiyonların kullanım örneklerine bakacak olursak, bir fonksiyon birleştirilen bir veri kümesini geri döndürebilir. Ayrıca, bir sayının üstünde bir hesaplama yapabilen veya bir veri setinin sayılarını hesaplayabilen fonksiyonlar da kullanılabilir. Python'da, birçok dahili fonksiyon bulunur ve ayrıca kendiniz de fonksiyon yazabilirsiniz.
Fonksiyonlardan Yararlanmanın Faydaları Nelerdir?
Python programlama dilinde, fonksiyonlar kod tekrarını önlemek, programları daha okunaklı hale getirmek ve kodlama süresini daha etkili hale getirmek için kullanılır. Fonksiyonlar, aynı işlemi tekrar tekrar yazmak yerine bir kez yazıp, istenildiğinde kullanılabilir hale getirmeyi sağlar.
Fonksiyon kullanmanın bir diğer faydası da kodların daha düzenli hale getirilmesidir. Fonksiyonlar, programcılara kodlarını modüler hale getirme imkanı sunuyor. Bu sayede birbiriyle ilgili kodlar bir araya getirilebiliyor ve ayrı ayrı düzenlenebiliyor. Ayrıca, büyük projelerde kod karmaşasını önlemek için kullanacakları modüler yapıya göre tasarım yapmak da mümkündür.
Fonksiyonların kullanımı ayrıca hata ayıklama sırasında zaman tasarrufu sağlar. Fonksiyonlar, testler aracılığıyla sınanabilen daha küçük kod parçalarına bölünebilir. Böylece bir hata olması durumunda, hatanın kaynağına daha hızlı bir şekilde ulaşmak mümkün olur.
Bazı fonksiyonlar ayrıca kod verimliliğini de artırır. Örneğin, aynı işlemi birden fazla kez tekrar etmek yerine, bir fonksiyon oluşturup, bu fonksiyonu kullanarak işlemi bir kerede yapmak, kodun daha az sayıda satırla yazılmasına yardımcı olur. Bu da hem kodlama süresini kısaltır hem de kod okunurluğunu artırır.
Dahili Fonksiyonlar Nedir?
Python programlama dilinde, dahili olarak bulunan bazı fonksiyonlar vardır. Bu fonksiyonlar, Python geliştiricileri tarafından yazılmış ve Python yüklediğinizde otomatik olarak kullanılabilir hale gelirler. Dahili fonksiyonlar, sık kullanılan kod bloklarını daha kısa ve daha okunaklı bir şekilde yazmanızı sağlar.
Bununla birlikte, bir kod yazarken, bir dahili fonksiyona ihtiyaç duyup duymamaya karar vermelisiniz. Eğer bir dahili fonksiyon, yazdığınız kodun okunaklılığına katkıda bulunduğunu ve tekrarını önlediğini düşünüyorsanız, o zaman onu kullanabilirsiniz. Aşağıda, Python'da dahili olarak bulunan bazı fonksiyonlar ve kullanım örnekleri açıklanmaktadır.
Print(): Print fonksiyonu, ekrana yazdırılacak metin veya nesnelerin listesini alır. Örneğin:
|
Bu kod, "Merhaba Dünya!" yazısını ekrana yazdırır. |
Len(): Len fonksiyonu, bir dizenin veya bir nesnenin uzunluğunu hesaplar. Örneğin:
|
|
Bu kod, dizi değişkeninin uzunluğunu hesaplar ve ekrana yazdırır. Bu örnekte, dizi değişkeninin uzunluğu 5'tir. |
Type(): Type fonksiyonu, bir nesnenin türünü döndürür. Örneğin:
|
|
Bu kod, x değişkeninin türünü hesaplar ve ekrana yazdırır. Bu örnekte, tür "int" yani integerdır. |
Range(): Range fonksiyonu, bir aralık nesnesi oluşturur. Örneğin:
|
|
Bu kod, 0'dan 4'e kadar olan sayıları ekrana yazdırır. Bu örnekte, range(5) fonksiyonu, aralık nesnesini oluşturur. |
List(): List fonksiyonu, bir liste oluşturur. Örneğin:
|
|
Bu kod, 0'dan 4'e kadar olan sayıları içeren bir liste oluşturur. Bu örnekte, list(range(5)) fonksiyonu, listeyi oluşturur. |
Dictionary(): Dictionary fonksiyonu, bir sözlük oluşturur. Örneğin:
|
|
Bu kod, "elma", "armut" ve "kiraz" olmak üzere üç farklı anahtar kelimeye sahip bir sözlük oluşturur. Bu örnekte, dictionary() fonksiyonu, sözlüğü oluşturur. |
Print(), Len(), ve Type() Fonksiyonları
Python programlama dili, kolay kullanımı ile bilinen bir programlama dilleri arasındadır. Bu dillerin kullanımında fonksiyonlar, özellikle çok sık kullanılan, tekrarlanan kodların yazımını önlemek için kullanılır. Print(), len() ve type() fonksiyonları, Python programlama dilinde en sık kullanılan fonksiyonlar arasındadır.
Print() fonksiyonu, ekrana yazı yazma işlemi için kullanılır. Aynı zamanda değişken değerlerini de ekrana yazdırabilir. Aşağıdaki örnekte bir metin ve bir sayı değişkeni print() fonksiyonu ile ekrana yazdırılmıştır:
Kod | Çıktı |
---|---|
metin = "Merhaba Dünya!" sayi = 42 print(metin) print("Sayı:", sayi) | Merhaba Dünya! Sayı: 42 |
len() fonksiyonu ise herhangi bir nesnenin uzunluğunu ölçmek için kullanılır. Nesne bir liste, demet, dize vb. olabilir. Aşağıdaki örnekte bir dize uzunluğu len() fonksiyonu ile ölçülmüştür:
Kod | Çıktı |
---|---|
metin = "Python öğrenmek çok eğlencelidir!" print(len(metin)) | 33 |
Son olarak, type() fonksiyonu bir nesnenin veri tipini döndürmek için kullanılır. Aşağıdaki örnekte bir dize ve bir tamsayı'nın veri tipleri type() fonksiyonu ile çıktıya yazdırılmıştır:
Kod | Çıktı |
---|---|
metin = "Python" sayi = 42 print(type(metin)) print(type(sayi)) | <class 'str'> <class 'int'> |
Print(), len() ve type() fonksiyonları, Python programlama dili içindeki en sık kullanılan fonksiyonlar arasındadır. Print() fonksiyonu, ekrana yazı yazdırmak için kullanılırken, len() fonksiyonunuz nesnelerin boyutlarını hesaplamak için ve type() fonksiyonu da bir nesnenin veri tipini döndürmek için kullanılır.
Range(), List(), ve Dictionary() Fonksiyonları
Python programlama dili, range(), list() ve dictionary() gibi bazı dahili fonksiyonlarla birlikte gelir. Bu fonksiyonlar, programlama işlemlerini daha hızlı ve kolay hale getirmenin yanı sıra, programlama konusunda daha deneyimsiz olan kişilerin bile programlama işlemlerini gerçekleştirmelerine yardımcı olur.
range() fonksiyonu, verilen bir sayı aralığındaki sayıları üretmek için kullanılır. Bu fonksiyon genellikle for döngüleri içinde kullanılır. Örneğin, aşağıdaki kod, 0'dan 9'a kadar sayılar üretir:
|
list() fonksiyonu, bir öğe listesi oluşturmak için kullanılır. Bu fonksiyon, birden çok öğeyi içeren bir nesne ya da koleksiyondan bir liste oluşturmak için kullanılabilir. Örneğin, aşağıdaki kod, bir liste oluşturur ve ekrana yazdırır:
|
dictionary() fonksiyonu, bir anahtar-değer çiftleri koleksiyonu oluşturmak için kullanılır. Bu fonksiyon, bir anahtar-değer çiftini eklemek için özel sözdizimi sağlar. Örneğin, aşağıdaki kod, 'name' ve 'age' anahtarlarının ve bunların değerlerinin bir sözlükte nasıl saklanacağını gösterir:
|
Bu fonksiyonlar, programlamada sıklıkla kullanılan işlemleri gerçekleştirmek için son derece yararlıdır. Programlama dili Python'u öğrenirken, bu fonksiyonlar hakkında bilgi sahibi olmanız, programlama işlemlerinizi daha hızlı ve verimli bir şekilde gerçekleştirmenize yardımcı olur.
Kendinizin Fonksiyonlarını Yazın
Python'da kendi fonksiyonlarınızı yazmak oldukça kolaydır. Kendi fonksiyonunuzu kullanarak, kod tekrarını engelleyebilir ve programınızı daha okunaklı hale getirebilirsiniz. Kendi fonksiyonlarınızı yazarken, def anahtar kelimesini kullanarak başlamanız gerekir.
Örneğin, şu anda bulunduğumuz durum için basit bir fonksiyon yazabiliriz:
Kod | Açıklama |
---|---|
| Bu kod, isim adlı bir argüman alan bir fonksiyon oluşturur ve "Merhaba" adlı bir cümleyi ve isim argümanını yazdırır. |
Bu fonksiyonu kullanmak için, isim adlı bir değişkeni belirleyin ve onu fonksiyona argüman olarak atayın:
Kod | Açıklama |
---|---|
| Bu kod, isim adlı bir değişkeni belirler ve onu selamla() fonksiyonuna argüman olarak atar. Fonksiyon, "Merhaba John" cümlesini yazdırır. |
Kendi fonksiyonlarınızı yazarken, argümanları belirlemenin yanı sıra, varsayılan argümanları da belirleyebilirsiniz. Böylece, fonksiyonu çağırırken argüman belirtmezseniz, varsayılan değer kullanılır:
Kod | Açıklama |
---|---|
| Bu kod, isim ve varlık adlı iki argüman alan bir fonksiyon oluşturur ve "Merhaba" adlı bir cümleyi ve argümanları kullanarak bir soru belirtir. Bu durumda, varlık argümanı varsayılan olarak "dünya" olarak ayarlanmıştır. |
| Bu kod, isim adlı bir değişkeni belirler ve onu selamla() fonksiyonuna argüman olarak atar. Fonksiyon, "Merhaba John nasılsın dünya?" cümlesini yazdırır. |
| Bu kod, isim adlı bir değişkeni ve "Python" argümanını belirler ve onları selamla() fonksiyonuna argüman olarak atar. Fonksiyon, "Merhaba John nasılsın Python?" cümlesini yazdırır. |
Kendi fonksiyonlarınızı yazmak, Python'daki kodunuzu daha temiz ve daha okunaklı hale getirmenin yanı sıra, kod tekrarını önleyerek daha verimli hale getirir.
Fonksiyonlarda Değer ve Referans Türleri
Python programlama dilinde, fonksiyonlarda iki tür parametre vardır: değer türleri (value types) ve referans türleri (reference types). Bu konsept, programlama dillerinin farklılıklarından biridir ve hataların meydana gelmesine neden olabilmektedir.
Değer türleri, fonksiyona verilen argümanın bir kopyasını alır ve bu kopya üzerinde işlem yapar. Bu türler, fonksiyonun dışındaki etki alanını etkilemez. Örneğin, bir sayısal değer bir fonksiyona iletilirse, fonksiyon içinde yapılan değişiklik dışındaki etki alanında kalacaktır.
Referans türleri ise, fonksiyona verilen argümanın kendisini alır ve bu argüman üzerinde işlem yapar. Bu türler, fonksiyonun dışındaki etki alanını etkileyebilir. Örneğin, bir liste bir fonksiyona iletilirse, fonksiyon içinde yapılan değişiklik dışındaki etki alanına da yansıyacaktır.
Bazı referans türleri Immutable (değiştirilemez) özellik gösterirken, bazıları Mutable (değiştirilebilir) özellik gösterir. Immutable türler, değer türlerine benzer şekilde verilen argümanın bir kopyasını alır ve bu kopya üzerinde işlem yapar. Mutable türler ise, verilen argümanın kendisini alır ve bu argüman üzerinde işlem yapar.
Değer Türleri | Referans Türleri (Immutable) | Referans Türleri (Mutable) |
---|---|---|
int, float, bool, str, tuple | frozenset | list, set, dict |
Değer türleri, fonksiyonlar içinde kullanıldığında güvenlidir, çünkü fonksiyonda yapılan herhangi bir değişiklik, dışındaki etki alanına yansımaz. Ancak, referans türleri gibi objeler, fonksiyonda yapılan değişiklikler fonksiyonun dışındaki etki alanına yansıyabileceğinden dikkatli kullanılmalıdır.
Değer Türleri
Python'da fonksiyonlar, değeri değiştiremeyen (immutable) türleri kullanabilir. Örneğin, string ve sayısal veri türleri (integer, float) değeri değiştiremezler ancak yeni bir değer oluşturabilirler.
Aşağıda, sayısal bir değerle çalışan basit bir fonksiyon örneği verilmiştir:
Kod | Açıklama |
---|---|
def carp(a,b): return a*bx = 2y = 3print(carp(x,y)) | Fonksiyon iki sayısal değer alır ve çarpımlarını hesaplar. Değerler, kodun geri kalanında kullanılabilir. |
Bu örnekte, "x" ve "y" isimli iki sayısal değişken oluşturulur ve fonksiyona gönderilir. Fonksiyonda değerler çarpılır ve sonuç, "print" ifadesi ile yazdırılır.
Özellikle, fonksiyonlarla değerlerin değişmesi durumunda, fonksiyonda belirtilen değişkenin, fonksiyonun dışındaki değişkeni etkileyemeyeceği unutulmamalıdır. Fonksiyonlar, kapsam kurallarına uyan (scope-compliant) yerel değişkenlere sahip olabilirler. Bu, yerel bir değişkenin fonksiyonun içinde tanımlandığını ve yalnızca fonksiyonun içinde kullanılabileceğini ifade eder. Aşağıdaki örnek, "x" değişkeninin fonksiyon tarafından etkilenmediğini gösterir:
Kod | Açıklama |
---|---|
def f(): x = 1 return xx = 2print(f())print(x) | "f" fonksiyonu çağrıldığında, "x" değeri 1 olarak ayarlanır ve "return" komutu tarafından döndürülür. "x" fonksiyon dışındaki 2 olarak tanımlanır ve "print" ifadeleri aracılığıyla yazdırılır. |
Sonuç olarak, fonksiyonlarla değer türlerinin kullanımı hakkında genel bilgilere sahip olduk. Değer türleri farklı olabilse de, kullanımları ve fonksiyonlarla birlikte kullanımları aynı prensipleri takip eder.
Referans Türleri
Fonksiyonlarda kullanılan diğer bir tür referans türleridir. Referans türleri diğer adıyla obje türleri, objelerin adreslerini tutarlar.
Bir fonksiyona bir obje gönderildiğinde, referans türünden olan bu objenin kopyası fonksiyona gösterilmez. Bunun yerine, objenin kendisi fonksiyona gönderilir ve fonksiyonda objenin orijinali işlenir.
Referans türleri, bellekte depolama açısından daha verimlidir. Ancak, fonksiyon davranışlarının beklenmeyen olabileceği hataların kaynağı olarak da hizmet edebilirler. Bu nedenle, referans türü objelerinin güvenliği için duyarlı yazılım geliştirme işlemleri gereklidir.
Referans türleri değiştirilebilir (mutable) veya değiştirilemez (immutable) olarak tanımlanabilir. Değiştirilemez türlerin örnekleri sayılar, stringler ve türllerin demetleri (tuples) olabilirken, değiştirilebilir türlerin örnekleri listenin (list) ve sözlüklerin (dictionaries) örnekleri gibi veri yapılarıdır.
Immutable tipler, bir kez tanımlandıktan sonra değerleri değiştirilemez. Ancak, değiştirilebilir tipler değiştirilebilir özellikleri sayesinde, işlevlerini çok daha verimli bir şekilde yerine getirirler.
Örneğin, bir listenin bir parçasının değiştirilmesi, listenin tekrar oluşturulmasına neden olur ve bu zaman ve bellek kaybına yol açabilir. Ancak sözlükler, çok daha yüksek hızlı değişiklikler yapmak için optimize edilmişlerdir.
Fonksiyonlarda Anahtar Kelimler
Python programlama dilinde anahtar kelimeler, önceden tanımlanmış kelimelerdir ve programın yönetiminde önemli bir rol oynarlar. Python'daki anahtar kelimeleri kullanırken dikkatli olmak gerekir, çünkü programın doğru çalışması için doğru anahtar kelimeyi kullanmak önemlidir.
Fonksiyonlarda anahtar kelimeler de oldukça önemlidir. Fonksiyonlarda anahtar kelimeler, sağlanan argümanların anlamlarını belirleyen özelliklerdir. Örneğin, bir fonksiyonun belirli bir argümanı varsayılan bir değerle tanımlanabilir. Bu, argümanın fonksiyon çağrısında sağlanmazsa, varsayılan değeri kullanacağı anlamına gelir.
Bir başka önemli anahtar kelime ise *args'dir. *args, bir fonksiyona herhangi bir sayıda argüman geçirme olanağı sağlar. Bu argümanlar bir dizi olarak alınır ve fonksiyondaki *args argümanı içinde birleştirilir.
**kwargs anahtar kelimesi de benzer bir işlev görür, ancak burada argümanlar sözlük olarak geçirilir. Sözlüğün anahtarları, fonksiyonun doğru çalışması için gerekli olan argümanların isimlerini temsil eder.
Son olarak, lambda anahtar kelimesi de oldukça önemlidir. Lambda, bir fonksiyonun kısa özetidir ve genellikle tek bir işlem yapacak kadar küçük olan fonksiyonlar için kullanılır. Lambda anahtar kelimesi, bir dizi parametre alan bir fonksiyon tanımlamak için kullanılır.
Fonksiyonlarda anahtar kelimeler, fonksiyonların kullanımını artırır ve daha okunaklı hale getirir. Bu anahtar kelimelerin kullanımı sayesinde, fonksiyonların tanımlanması ve çağrılması daha basit hale gelir. Özetle, Python'daki anahtar kelimeler, fonksiyonların kullanımını kolaylaştıran ve kodun daha okunaklı hale getiren önemli özelliklerdir.
Varsayılan Parametreler
Python'da fonksiyonlarda varsayılan parametreler belirleyebilirsiniz. Bu parametreler, fonksiyon çağrıldığında belirtilmezse kullanılacak değerleri belirlemek için kullanılır. Örneğin, bir fonksiyonun belirli bir parametresinin varsayılan değeri her zaman 0 olabilir.
Fonksiyonlarınızda varsayılan parametre kullanmaya karar verirken dikkatli olun. Çünkü varsayılan parametreler, özellikle karmaşık fonksiyonlarınızda değiştirilmesi zor olan hatalara neden olabilir. Fonksiyondaki parametreleri okunaklı hale getirmenin yanı sıra kod tekrarını da azaltmanın yolu olarak varsayılan parametreler kullanılabilir.
Varsayılan parametreler için örnek bir kod bloğu:
def greetings(name, message='Hello, '): print(message + name)greetings('John') # Output: Hello, Johngreetings('Alex', 'Hi, ') # Output: Hi, Alex
Yukarıdaki örnekte, varsayılan parametreler kullanılarak greetings adlı bir fonksiyon tanımlanmıştır. Bu fonksiyon iki parametre alır: name ve message. Message parametresinin varsayılan değeri "Hello, " olarak ayarlanmıştır. İlk çağrıda sadece name parametresi belirtilmiştir, bu nedenle fonksiyon "Hello, John" yazdırır. İkinci çağrıda hem name hem de message parametreleri belirtilmiştir, bu nedenle fonksiyon "Hi, Alex" yazdırır.
Varsayılan parametreler kullanarak, kullanıcılardan eksik bilgi almaktan kaçınmak ve daha okunaklı ve güncellenebilir kodlar oluşturmak mümkündür. Ancak, dozunu kaçırmamak gerekir.
Argümanların Sıralanması
Fonksiyonlarda argümanlar üst üste sıralanarak veya isimleri ile birlikte çağrılabilir. Sıralama yöntemi, argümanların fonksiyonda tanımlandıkları sırada sıralanmasını gerektirir. Ancak bu yöntemde, argümanların pozisyonlarının doğru olması önemlidir. İsimli argümanlar kullanıldığında, belirli bir sıralama olmadan fonksiyonlar çağrılabilir ve daha okunaklı bir kod üretmek için kullanılabilir.
Örnek olarak, aşağıdaki fonksiyonda argümanların nasıl sıralanabileceğini gösterelim:
Fonksiyon | Sıralama Yöntemi | Örnek Kullanım |
---|---|---|
def yazdır(a, b, c): print(a, b, c) | Sıralama Yöntemi | yazdır(1,2,3) yazdır(b=2, a=1, c=3) yazdır(1, c=3, b=2) |
Fonksiyon çağrısında, argümanların pozisyonları fonksiyonu çağıran sırayla aynı olmalıdır. Bu nedenle, listedeki argümanların sırasının birleştirme işlevinde önemli olduğu bir senaryo varsa, pozisyon yöntemi tercih edilir. Ancak, bir argümanın isimlendirilmesi sırasıyla tablo şekline eklenerek kullanılabildiğinden, okunabilirliği artırabilir. Örneğin, bir fonksiyona bir kelime ve tekrar edilme sayısı vererek yeni bir kelime oluşturmak istediğinizi varsayalım:
def kelime_yap(kelime, tekrar_sayisi):
yeni_kelime = kelime * tekrar_sayisi
print(yeni_kelime)
Aşağıdaki iki fonksiyon çağrısı aynı sonucu verir:
kelime_yap("Python", 3)
kelime_yap(tekrar_sayisi=3, kelime="Python")
Bu yöntem, işlevin ne yaptığını daha okunaklı hale getirebilir ve zamanla koddaki değişikliklerin yönetimini kolaylaştırabilir.
Python İçindeki Lamba Fonksiyonları
Python, fonksiyonel programlama dili olarak bilinir ve programlama dünyasında oldukça popülerdir. Bu dili kullanarak yazdığınız kodların daha hızlı ve daha okunaklı olmasını sağlayabilirsiniz. Ayrıca, Python içindeki lamba fonksiyonları da bu avantajlardan yararlanmanızı sağlar.
Lamba fonksiyonları, kısa bir şekilde tanımlayabileceğiniz fonksiyonlardır ve genellikle fonksiyon içinde başka bir fonksiyonda kullanılırlar. Python lamba fonksiyonları, genellikle tek bir satırda tanımlanırlar ve fonksiyonlara göre daha basit bir yapıya sahiptirler.
Bazı durumlarda, bir fonksiyonun içinde yalnızca bir kez kullanılacak olan bir fonksiyon tanımlamak okunaklılığı azaltabilir. Bu durumlarda, Python lamba fonksiyonları kullanarak bu tanımlamaları daha kısa bir şekilde yapabilirsiniz.
Lamba Fonksiyonu | Amacı |
---|---|
lambda x: x**2 | x'in karesini alır |
lambda x,y: x+y | x ve y'nin toplamını alır |
lambda s: s[::-1] | Sözcüklerin ters sırasını alır |
Yukarıdaki tabloda bazı lamba fonksiyonlarının örnekleri bulunmaktadır. Bu fonksiyonlar, sadece birkaç karakterden oluşan basit ifadelerdir. Örneğin, "lambda x: x**2" ifadesi, "x" değişkeninin karesini alır.
Ayrıca, lamba fonksiyonları, Python listeleri ve sözlüklerinde kullanılabilir. Örneğin:
list(map(lambda x: x**2, [1, 2, 3, 4]))
, [1, 4, 9, 16]dictionary = {'a': 1, 'b': 2, 'c': 3}
,sorted_dict = sorted(dictionary.items(), key=lambda x: x[1])
,sorted_dict == [('a', 1), ('b', 2), ('c', 3)]
Bu örnekte, Python'da kullanılan "map" ve "sorted" fonksiyonlarındaki lamba fonksiyonlarını görebilirsiniz. Bu fonksiyonlar, listenin her bir elemanına uygulanan bir işlev tanımlamanızı sağlar ve eşleşen bir çıktı listesi veya sözlük oluşturur.
Python'daki lamba fonksiyonları, Python programlama dili ile çalışırken çok zaman ve güç tasarrufu yapmanızı sağlar. Bu fonksiyonlar, Python programlama dilini öğrenen herkesin bilmesi gereken bir özelliktir.
Lamba Fonksiyonları Nedir?
Lamba fonksiyonları, Python programlama dilinde yer alan ve bir işlevi kısa bir şekilde ifade eden fonksiyonlardır. Tanımlamaları oldukça basit olan bu fonksiyonlar, "lambda" anahtar kelimesi ile başlatılır ve ardından parametreleri belirtilir. Lamba fonksiyonları, tek bir ifadeden oluştuğu için diğer fonksiyonlardan farklı şekilde tanımlanır.
Bunun örneklerinden biri, iki sayıyı toplayan basit bir lamba fonksiyonudur:
Lamba Fonksiyonu | Açıklama |
---|---|
lambda x, y: x + y | Bu lamba fonksiyonu, "x" ve "y" olarak adlandırılan iki parametreyi alır ve ardından bunları toplar. Fonksiyon oldukça basit ve tek bir ifade içerir. |
Bu çarpıcı örnek, lambda fonksiyonlarının Python'da nasıl kısaltılabileceğini gösterir. İfade, özellikle List Comprehensions ve Filter fonksiyonları gibi diğer programlama kavramlarıyla birlikte kullanıldığında oldukça güçlü hale gelebilir.
Lamba Fonksiyonlarının Kullanımı
Lambda fonksiyonları, bir işleve ihtiyacımız olduğunda, tek bir satırda kısa bir işlev tanımı yapmak için özellikle kullanışlıdır. Bu fonksiyonlar, normal fonksiyonlara benzer şekilde, bir veya birden fazla argüman alabilir, ancak daha kısa bir yapıya sahiptirler.
Lamba fonksiyonları, genellikle bir dizi veri üzerinde çalışmak veya bir özellik/fonksiyon eklemek için kullanılır. İşlevleri belirtmek daha az karmaşıktır ve bu sebeple işlevi her zaman yüksek kullanımlarda kullanılır. Örneğin, bir sayı listesindeki her elemanın karelerini almak için şu lamba fonksiyonu kullanılabilir:
Kod | Açıklama |
---|---|
| Bu örnekte, lambda ifadesi "square" olarak adlandırılan anonim bir işlev tanımlar. Bu işlev, x'in karesini hesaplar. Daha sonra, bir liste "numbers" oluşturduk ve bu listeye bir "map" işlevi uygulayarak, "square" fonksiyonunu her öğeye uygulayarak bir yeni bir liste "squared_numbers" oluşturduk. |
Bir başka örnek olarak bir liste içindeki sayıları çift veya tek sayı olarak ayırmak için kullanılabilir. Örneğin, aşağıdaki kod parçasında, lambda ifadesi, sayının kalanına göre çift veya tek sayı bir listeye ayırmak için kullanılır.
Kod | Açıklama |
---|---|
| Bu örnekte, her bir "filter" işlevi belirli bir şartı sağlayan öğeleri filtrelemek için kullanılır. İlk "filter" ifadesi, lambda ifadesini kullanarak, sadece çift sayıları filtrelerken, ikinci "filter" ifadesi sadece tek sayıları filtreler. |
Bu şekilde, lambda fonksiyonları, Python'da daha karmaşık işlevler için ihtiyacımız olan belirli işlem adımlarını kısaltarak veya tek bir satıra sığdırarak, kod yazmaya yardımcı olur.