Tutorial Material

F-string'lar

Share to
Python f-string'lar

F-string'lar (formatted string literals) - Python'da string formatlashning zamonaviy va eng samarali usuli. Python 3.6 da kiritilgan f-string'lar toza sintaksis va yaxshi unumdorlik sababli string formatlash uchun de-fakto standartga aylandi.

F-string asosiy sintaksisi

F-string'lar qo'shtirnoqdan oldin f yoki F harfi bilan boshlanadi, Python ifodalari esa jingalak qavslar {} ichida yoziladi:

ism = "Ali"
yosh = 25

# F-string ishlatish
print(f"Salom, mening ismim {ism} va yoshim {yosh}")
# Natija: Salom, mening ismim Ali va yoshim 25

# Katta F harfi bilan ham ishlaydi
print(F"Xush kelibsiz, {ism}!")

Eski usullar bilan solishtirish

F-string'lar paydo bo'lishidan oldin string formatlashning bir nechta yo'li bor edi:

ism = "Vali"
ball = 95.5

# Eski usul 1: Birlashtirish (+)
print("Ism: " + ism + ", Ball: " + str(ball))

# Eski usul 2: % formatlash
print("Ism: %s, Ball: %.1f" % (ism, ball))

# Eski usul 3: .format()
print("Ism: {}, Ball: {}".format(ism, ball))

# Zamonaviy usul: f-string (tavsiya etiladi)
print(f"Ism: {ism}, Ball: {ball}")

F-string'lar o'qilishi oson va bajarilishi tezroq!

F-string ichida ifodalar

F-string jingalak qavslar ichida istalgan Python ifodasini hisoblay oladi:

# Matematik amallar
a = 10
b = 5
print(f"Qo'shish: {a + b}")        # Natija: Qo'shish: 15
print(f"Ko'paytirish: {a * b}")     # Natija: Ko'paytirish: 50
print(f"Bo'lish: {a / b:.2f}")      # Natija: Bo'lish: 2.00

# Metodlarni chaqirish
ism = "python"
print(f"Katta harf: {ism.upper()}")       # Natija: Katta harf: PYTHON
print(f"Bosh harf: {ism.capitalize()}")   # Natija: Bosh harf: Python

# Funksiyalarni chaqirish
import math
print(f"Ildiz 16: {math.sqrt(16)}")   # Natija: Ildiz 16: 4.0

# Ro'yxat va indekslash
mevalar = ["olma", "apelsin", "mango"]
print(f"Birinchi meva: {mevalar[0]}")  # Natija: Birinchi meva: olma

Sonlarni formatlash

F-string format specifier'lar yordamida sonlarni ko'rsatishni boshqaradi:

# O'nlik format
pi = 3.14159265359
print(f"Pi: {pi:.2f}")           # Natija: Pi: 3.14
print(f"Pi: {pi:.4f}")           # Natija: Pi: 3.1416

# Minglik ajratgich formati
aholi = 1500000
print(f"Aholi: {aholi:,}")       # Natija: Aholi: 1,500,000
print(f"Aholi: {aholi:_}")       # Natija: Aholi: 1_500_000

# Foiz formati
nisbat = 0.756
print(f"Foiz: {nisbat:.1%}")     # Natija: Foiz: 75.6%

# Minimal kenglik formati
son = 42
print(f"Son: {son:5}")           # Natija: Son:    42 (kenglik 5)
print(f"Son: {son:05}")          # Natija: Son: 00042 (nol bilan to'ldirish)

# Ikkilik, sakkizlik, o'n oltilik format
num = 255
print(f"Ikkilik: {num:b}")             # Natija: Ikkilik: 11111111
print(f"Sakkizlik: {num:o}")           # Natija: Sakkizlik: 377
print(f"O'n oltilik: {num:x}")         # Natija: O'n oltilik: ff
print(f"O'n oltilik (katta): {num:X}") # Natija: O'n oltilik (katta): FF

Tekislash (alignment)

text = "Python"

# Chapga tekislash (standart)
print(f"{text:<15}")     # Natija: "Python         "

# O'ngga tekislash
print(f"{text:>15}")     # Natija: "         Python"

# Markazga tekislash
print(f"{text:^15}")     # Natija: "    Python     "

# To'ldiruvchi belgilar bilan
print(f"{text:*^15}")    # Natija: "****Python*****"
print(f"{text:-<15}")    # Natija: "Python---------"

Dictionary bilan f-string

student = {
    "name": "Sara",
    "id": "12345",
    "gpa": 3.85
}

print(f"Ism: {student['name']}, GPA: {student['gpa']}")
# Natija: Ism: Sara, GPA: 3.85

F-string bilan debugging (Python 3.8+)

= specifier debugging uchun juda qulay:

x = 10
y = 20

# Eski usul
print(f"x = {x}, y = {y}")

# Yangi usul = bilan (Python 3.8+)
print(f"{x=}, {y=}")              # Natija: x=10, y=20
print(f"{x + y=}")                # Natija: x + y=30
print(f"{x * 2=}")                # Natija: x * 2=20

Multiline f-string

name = "Alice"
job = "Developer"
city = "New York"

# Uch tirnoq bilan
bio = f"""
User Profile
===============
Name      : {name}
Job       : {job}
City      : {city}
"""

print(bio)

Jingalak qavslarni escape qilish

Agar literal { va } ni chiqarish kerak bo'lsa, ikki marta yozing:

print(f"This is curly braces: {{}}")    # Natija: This is curly braces: {}
print(f"Python Set: {{{1, 2, 3}}}")   # Natija: Python Set: {1, 2, 3}

Amaliy misol

# Oddiy jadval yaratish
mahsulotlar = [
    ("Noutbuk", 15000000),
    ("Sichqoncha", 250000),
    ("Klaviatura", 750000),
]

print(f"{'Mahsulot':<15}{'Narx':>15}")
print("-" * 30)
for nomi, narx in mahsulotlar:
    print(f"{nomi:<15}{narx:>15,}")

# Natija:
# Mahsulot              Narx
# ------------------------------
# Noutbuk          15,000,000
# Sichqoncha          250,000
# Klaviatura          750,000

Edit this tutorial

Oxirgi yangilangan: 15-iyun, 2026