lambda fonk. local ve global değişkenler ;

Ocak 23, 2020 0 Yazar: alikperislam
# lambda :
#fonksiyon_ismi = lambda değişken : işlem
ikikat= lambda x : x*2 # girilen x değerini 2 ile çarpar.
print(ikikat(5))

liste=[1,3,5,7,9,6]
yeni_liste=list(filter(lambda x : (x%2==1),liste)) #listede 2 ye bölümünden kalan 1 olanları  sadece yazdırır
print(yeni_liste)
yeni_liste2=list(map(lambda x :(x*3),liste))  #listede ki "tüm elemanları" 3 ile çarpar
print(yeni_liste2)

### map ile veri güncellemek
liste=[1,2,3,4,5,6,7,8,9,0,3]
yl2=list(map(lambda x:(x+3),liste))
print(yl2)

### reduce kullanımı
#reducu python 3+ ile functools modülüne aktarır.
from functools import reduce
toplam= reduce(lambda x,y:(x+y),liste)
print(toplam)


#### Global(genel), local(yerel) ve nonlocal(içiçe fonksiyonlarda kullanılır) değişkenler:
x=2 #global değişkeni, fonksiyon dışında kullanılır ama fonksiyon içine alabiliriz.
def fonksiyon():
    x=5 #local değişken, sadece fonksiyon içinde kullanılır.
    print("iç değer :",x) # =5 olur.
fonksiyon()
print("dış değer :",x) #global olan x değişkenini alıyoruz. =2 olur.

sayi=10  #global değişken.
def fonksiyon2():
    global sayi #eğer bunu yazmazsak fonk içine, hata verir.
    sayi=sayi*2 # global değişkeninin 2 katını al diyoruz.
    print("sayı değeri :",sayi) #yazdırır
fonksiyon2() #fonksiyonu çağırır.