Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

17-ameliy Python

.pdf
Скачиваний:
1
Добавлен:
26.10.2024
Размер:
288.08 Кб
Скачать

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.

Соседние файлы в предмете Программирование на Python