Funksiyalar kodni qayta ishlatish imkonini beradi.
Oddiy funksiya
def salomlash(ism):
return f'Salom, {ism}!'
print(salomlash('Sherali'))
Default qiymatlar
def tanishtirish(ism, yosh=25, shahar='Toshkent'):
return f'{ism}, {yosh} yosh, {shahar}'
print(tanishtirish('Ali'))
print(tanishtirish('Vali', yosh=30))
*args β o'zgaruvchi argumentlar
def yig'indisi(*sonlar):
return sum(sonlar)
print(yig'indisi(1, 2, 3, 4, 5)) # 15
**kwargs β kalit so'zli argumentlar
def ma'lumot(**kwargs):
for kalit, qiymat in kwargs.items():
print(f'{kalit}: {qiymat}')
ma'lumot(ism='Ali', yosh=25, shahar='Toshkent')
Lambda funksiyalar
kvadrat = lambda x: x**2
print(kvadrat(5)) # 25
# sorted() bilan
talabalar = [('Ali', 85), ('Vali', 92), ('Soli', 78)]
tartiblangan = sorted(talabalar, key=lambda x: x[1], reverse=True)
Dekorator
def vaqt_oluvchi(func):
import time
def wrapper(*args, **kwargs):
boshi = time.time()
natija = func(*args, **kwargs)
print(f'Vaqt: {time.time() - boshi:.2f} sek')
return natija
return wrapper
@vaqt_oluvchi
def sekin_funksiya():
import time
time.sleep(1)
sekin_funksiya()