Funksiyalar β€” kodni qayta ishlatishning asosiy usuli.

Oddiy funksiya

def salomlash(ism):
    print(f"Salom, {ism}!")

salomlash("Sherali")

Qaytarish (return)

def yig'indi(a, b):
    return a + b

natija = yig'indi(5, 3)
print(natija)  # 8

Default parametrlar

def salomlash(ism, til="uz"):
    if til == "uz":
        print(f"Salom, {ism}!")
    elif til == "en":
        print(f"Hello, {ism}!")

salomlash("Aliya")          # default uz
salomlash("John", til="en") # ingliz

*args β€” noma'lum sondagi argumentlar

def yig'indi(*sonlar):
    return sum(sonlar)

print(yig'indi(1, 2, 3))       # 6
print(yig'indi(10, 20, 30, 40)) # 100

**kwargs β€” kalit-qiymat argumentlar

def ma'lumot(**kwargs):
    for kalit, qiymat in kwargs.items():
        print(f"{kalit}: {qiymat}")

ma'lumot(ism="Sherali", yosh=25, shahar="Toshkent")

Lambda funksiyalar

kvadrat = lambda x: x ** 2
qo'shish = lambda a, b: a + b

print(kvadrat(5))    # 25
print(qo'shish(3, 4)) # 7

Funksiya ichida funksiya

def tashqi(x):
    def ichki(y):
        return x + y
    return ichki

add5 = tashqi(5)
print(add5(3))  # 8