
17-ameliy Python
.pdf
17-ámeliy jumıs
Python programmalastırıw tilinde Lambda funkciyaları
1. Lambda funkciyası haqqında túsinik:
Lambda funkciyası - bir qatarlı anonim funkciya bolıp, ápiwayı operaciyalardı tez orınlaw ushın qollanıladı.
Sintaksis:
lambda argumentler: ańlatpa
2.Lambda funkciyasınıń tiykarǵı ózgeshelikleri:
Bir qatarlı funkciya
Tek bir ańlatpanı orınlay aladı
return sózi qollanılmaydı
Argumentler sanı sheklenbegen
3.Ámeliy mısallar:
3.1. Ápiwayı lambda funkciyası:
#Ádettegi funkciya def kvadrat(x):
return x ** 2
#Lambda funkciyası
kvadrat_lambda = lambda x: x ** 2
# Qollanıw |
|
|
print(kvadrat(5)) |
# |
25 |
print(kvadrat_lambda(5)) # |
25 |
3.2. Bir neshe argumentli lambda:
# Eki |
sandı qosıw |
|
qosıw |
= lambda x, y: x + y |
|
print(qosıw(3, 4)) |
# 7 |
|
|
|
|
# Úsh |
sandı kóbeytiw |
|
kóbeytiw = lambda x, |
y, z: x * y * z |
|
print(kóbeytiw(2, 3, |
4)) # 24 |
|
|
|
|
3.3. Lambda hám map():
# Dizimniń barlıq elementlerin kvadratqa kóteriw sanlar = [1, 2, 3, 4, 5]
kvadratlar = list(map(lambda x: x**2, sanlar)) print(kvadratlar) # [1, 4, 9, 16, 25]
# Dizimniń elementlerin 2 ge kóbeytiw nátiyjeler = list(map(lambda x: x*2, sanlar)) print(nátiyjeler) # [2, 4, 6, 8, 10]
3.4. Lambda hám filter():

# Jup sanlar |
filter |
|
|
sanlar = [1, |
2, 3, |
4, 5, 6, 7, 8, 9, 10] |
|
jup_sanlar = |
list(filter(lambda x: x % 2 |
== 0, sanlar)) |
|
print(jup_sanlar) |
# [2, 4, 6, 8, 10] |
|
|
# Oń sanlar filter |
|
|
|
sanlar = [-4, -3, -2, -1, 0, 1, 2, 3, 4] |
|
||
oń_sanlar = list(filter(lambda x: x > 0, |
sanlar)) |
||
print(oń_sanlar) |
# [1, 2, 3, 4] |
|
3.5. Lambda hám reduce():
from functools import reduce
# Dizim elementlerin qosıw sanlar = [1, 2, 3, 4, 5]
jámi = reduce(lambda x, y: x + y, sanlar) print(jámi) # 15
# Dizim elementlerin kóbeytiw
kóbeyme = reduce(lambda x, y: x * y, sanlar) print(kóbeyme) # 120
3.6. Lambda hám sorting:
# Dizimdi sortlaw
sanlar = [23, 12, 45, 6, 78, 1]
sortlanǵan = sorted(sanlar, key=lambda x: x) print(sortlanǵan) # [1, 6, 12, 23, 45, 78]
# Sózlerdi uzınlıǵı boyınsha sortlaw
sózler = ['alma', 'almurt', 'erik', 'qawın'] uzınlıq_sort = sorted(sózler, key=lambda x: len(x))
print(uzınlıq_sort) # ['erik', 'alma', 'qawın', 'almurt']
3.7. Sózlik (dictionary) menen islew:
studentler = [
{'atı': 'Ali', 'bal': 85}, {'atı': 'Ayjan', 'bal': 92}, {'atı': 'Samal', 'bal': 78}
]
# Bal boyınsha sortlaw
bal_sort = sorted(studentler, key=lambda x: x['bal'], reverse=True) print(bal_sort)
# Atı boyınsha sortlaw
at_sort = sorted(studentler, key=lambda x: x['atı']) print(at_sort)
3.8. Shártli lambda:
# Eki sannan úlkenin qaytarıw
maks = lambda x, y: x if x > y else y
print(maks(10, |
5)) |
# |
10 |
|
# San |
oń yamasa teris |
ekenin tekeriw |
||
belgi |
= lambda |
x: "oń" if x > 0 else "teris" if x < 0 else "nol" |
||
print(belgi(-5)) |
# "teris" |

3.9. Quramalı mısallar:
# Dizimdi filtrlew hám transformaciyalaw sanlar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] nátiyje = list(map(lambda x: x**2,
filter(lambda x: x % 2 == 0, sanlar))) print(nátiyje) # [4, 16, 36, 64, 100]
# Nested lambda
func = lambda x: lambda y: x + y qosıw_5 = func(5) print(qosıw_5(3)) # 8
3.10. Funkcional programmalaw mısalları:
# Map hám filter kombinaciyası sanlar = range(-5, 6)
nátiyje = list(filter(lambda x: x < 0,
map(lambda x: x**2, sanlar)))
print(nátiyje)
# Reduce hám map kombinaciyası
sózler = ['python', 'lambda', 'funkciya'] nátiyje = reduce(lambda x, y: x + y,
map(lambda x: len(x), sózler))
print(nátiyje)
4.Lambda funkciyasın qollanıw usınısları:
1.Lambda funkciyaların tek ápiwayı operaciyalar ushın qollanıń
2.Eger funkciya quramalı bolsa, normal funkciya jazıń
3.Lambda funkciyaların dokumentaciyası joq, sonlıqtan túsinikli etip jazıń
4.Map, filter, reduce metodları menen birge qollanıw jaqsı
5.Lambda vs Normal funkciya:
#Normal funkciya def kóbeytiw(x, y):
"""Eki sandı kóbeytiw""" return x * y
#Lambda funkciya
kóbeytiw_lambda = lambda x, y: x * y
# Eki usıl da birdey nátiyje beredi print(kóbeytiw(3, 4)) # 12 print(kóbeytiw_lambda(3, 4)) # 12
Bul materiallardı úyreniw hám ámeliyatta qollanıw arqalı lambda funkciyaların effektiv paydalanıwdı úyreniw múmkin.