reduce Fonksiyonu # 1 - Python Dersleri (Tutorials)

in #palnet5 years ago

yeni.jpg

Merhabalar

Python programlama derslerinin bu bölümünde yine gömülü fonksiyonlardan biri olan reduce() fonksiyonuna başlayacağız.

reduce() fonksiyonu da map() fonksiyonu gibi ilk parametre olarak bir fonksiyon alır.

Hatta genel yapısı birebir aynıdır, diyebiliriz:

reduce() fonksiyonu ilk parametre olarak bir fonksiyon alırken ikinci parametre olarak içerisinde gezinebileceği dizisel bir yapı alır. Bu yapı liste, demet veya herhangi bir veri tipinden olabilir.

reduce() fonksiyonunun çalışma mantığı ise oldukça gariptir. Bir örnek üzerinden anlatayım. Dizisel elemanımızın bir liste olduğunu farz edelim.

reduce fonksiyonu parametre olarak aldığı fonksiyona listeden ilk iki elemanı fonksiyon parametresi olarak gönderir. Sonrasında fonksiyondan dönen sonuç ile beraber listenin bir sonraki elemanını tekrar aynı fonksiyona parametre olarak gönderir. Bu süreç listede eleman kalmayana kadar devam eder.

Tanımdan çok bir şey anlaşılmayabilir, biz en iyisi uygulamasına geçelim:

Örneğimiz

from functools import reduce

kodu ile başlamaktadır. reduce() fonksiyonu, functools modülünde tanımlıdır. Bu sebeple bu fonksiyonu kullanabilmek için programın başında böyle bir import işlemi yapmamız gerekir.

Sonrasında carp() fonksiyonunu görüyoruz, iki parametre almaktadır. Aldığı parametreleri çarparak sonuç olarak döndürür.

reduce(carp,[1,2,3,4,5])

kodu ile fonksiyonu çalıştırıyoruz.

reduce() fonksiyonuna ilk olarak iki parametre gidecektir : 1 ve 2. Bu iki parametre carp() fonksiyonuna gönderildikten sonra 1*2 = 2 olarak geri dönecektir.

Sonrasında 2 sonucu elimizde tutularak listenin 3.elemanı olan 3 alınacaktır. Bu iki sayı da carp() fonksiyonuna gönderildikten sonra 2 * 3 = 6 olarak geri döner.

Tekrardan 6 ile beraber bu sefer 4.eleman olan 4 sayısı alınıp carp() fonksiyonuna gönderilir. carp() fonksiyonuna gönderilen 6 ve 4 parametreleri 6 * 4= 24 olarak geri döner.

Son olarak 24 sayısı listenin 5.elemanı ile alınır ve tekrardan carp() fonksiyonuna gönderilir ve listede başka eleman kalmadığından nihai değer elde edilir : 24 * 5 = 120

Sonucumuz 120'dir.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

yesilayrca.png

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me

Sort:  

You got a 67.01% upvote from @brupvoter courtesy of @elektroyazilim!

You got a 50.00% upvote from @bid4joy courtesy of @elektroyazilim!

You got a 19.05% upvote from @joeparys! Thank you for your support of our services. To continue your support, please follow and delegate Steem power to @joeparys for daily steem and steem dollar payouts!

This post has received a 22.22% upvote from @lovejuice thanks to @elektroyazilim. They love you, so does Aggroed. Please be sure to vote for Witnesses at https://steemit.com/~witnesses.

You got a 50.00% upvote from @whalecreator courtesy of @elektroyazilim! Delegate your Steem Power to earn 100% payouts.

You got a 96.32% upvote from @minnowvotes courtesy of @elektroyazilim!

You got a 50.00% upvote from @whalepromobot courtesy of @elektroyazilim!

You got a 50.00% upvote from @redlambo courtesy of @elektroyazilim! Make sure to use tag #redlambo to be considered for the curation post!

You got a 96.53% upvote from @luckyvotes courtesy of @elektroyazilim!

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.034
BTC 66077.75
ETH 3167.77
USDT 1.00
SBD 4.01