by trustix
Eklenme Tarihi : 22 Aralık 2020 11:18 Views: 895
Python'da Gömülü Fonksiyonlar
Python'da önceden tanımlanmış ve python çekirdeğinde bulunan birtakım fonksiyonlar vardır. Bu fonksiyonlar büyük oranda geliştiricilerin işini kolaylaştırmak için tanımlanmışlardır. Bunlardan biri de filter fonskiyonudur.
Python'da filter() Fonskiyonu Ne İşe Yarar
Python programlamada kullanılan filter() fonksiyonu yapı olarak reduce() fonksiyonu ile benzerlik göstermektedir. filter() fonksiyonu iki parametre almaktadır. Bu parametrelerden ilki yine bir fonksiyondur. Ancak bu fonksiyon yalnızca sonucu boolean türünden bir değer döndüren fonksiyon olmak zorundadır. İkinci parametre ise bir iterasyon yapısı olmak durumundadır. Bu halde filter() fonksiyonu kendisine bağımsız değişken olarak verilen ilk fonksiyonu iterasyon yapısındaki bütün elemanlara uygular. Bu uygulama sonucunda True değer döndüren elemanları ayırır ve sonuç olarak bu elemanları karşımıza çıkarır. Yani asıl yapılan iş bir iterasyon yapısında belli bir koşulu sağlayan elemanların ayıklanmasıdır.
# Python'da filter() Fonksiyonu
"""
lambda fonksiyonu içerisinde filter fonksiyonunu
kullanarak 0-35 aralığında 3' tam bölünebilen sayıları
bulmak için aşağıdaki gibi bir kod yazabiliriz.
"""
result = filter(lambda x: x % 3 == 0, [*range(35)])
result = list(result)
print(result)
# Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33]
# Python'da filter() Fonksiyonu
"""
Bir forum sitesi ya da alışveriş sitesine üyelik
alındığını düşünelim. Bu sistem sadece yetişkinleri
üye olarak kabul etmekte ve buna göre sisteme üye olmaya
çalışanların yaş değerleri alıyor olsun. Bu durumda
yaşları 18'den büyük olanları yetişkin olarak işaretlemek
ve sadece bu kişilerin sisteme kayıt olmasına onay vermek için
filter() fonksiyonu kullanılabilir.
"""
# Yaş değerlerini tutmak için bir liste tanımlıyoruz.
yas = [15, 12, 21, 18, 25, 33, 14, 22]
# Yaşı 18'den büyük olanlar için True değerini döndürecek bir fonksiyon tanımlıyoruz.
def test(x):
if x < 18:
return False
else:
return True
# yetişkin olanları ayırıyoruz.
yetiskin = filter(test, yas)
# Bir döngü yardımı ile bu yaş değerlerini ekrana yazdırıyoruz.
for x in yetiskin:
print(x)
"""
Output:
21
18
25
33
22
"""
Yukarıdaki örnekte yaş değerlerini manuel olarak bir liste yapısı içerisinde tuttuk. Ancak input() fonksiyonu aracılığı ile bu yaş değerlerini pekala dinamik olarak da alabilirdik.
# Python'da filter() Fonksiyonu
"""
0-100 aralığında 7 ile tam bölünebilen
sayıları tespit etmek için buradaki örnekte olduğu
gibi filter() fonksiyonu kullanılabilir. Bunun
için öncelikle 7'ye tam bölündüğünde True değerini
döndüren bir fonksiyon tanımlıyoruz. Daha sonra
bu fonksiyonumuzu filter() fonskiyonuna bağımsız değişken
olarak gönderiyoruz.
"""
def test_et(x):
if x % 7 == 0:
return True
else:
return False
num_1 = [*range(100)]
test_1 = filter(test_et, num_1)
# liste içeriğine ulaşabilmek için objemizi tekrar listeye dönüştürüyoruz.
test_1 = list(test_1)
print(test_1)
# Output: [0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]
Evet arkadaşlar Python programlamada kullanılan filter() fonksiyonunu örnekler üzerinden incelemeye çalıştık. filter() fonksiyonu nasıl kullanılır, ne amaçla kullanılır gibi soruları da beraberinde cevaplamaya çalıştık.
print('Herkese İyi Kodlamalar')