Python string formatlash


F-String Python 3.6 da joriy qilingan va hozirda stringlarni formatlashning afzal usuli hisoblanadi.

Python 3.6 dan oldin bizformat()usulidan foydalanishimiz kerak edi.


ULASHISH

F-torlari

F-string stringning tanlangan qismlarini formatlash imkonini beradi.

Stringni f-string sifatida belgilash uchun string literalining oldiga f qo‘yish kifoya, masalan:

Misol

f-string yarating:

txt = f"The price is 49 dollars" print(txt)
O‘zingiz sinab ko‘ring »

To‘ldiruvchilar va modifikatorlar

F-stringdagi qiymatlarni formatlash uchun {} joy egalarini qo‘shing; joy egasi qiymatni formatlash uchun o‘zgaruvchilar, amallar, funksiyalar va modifikatorlarni o‘z ichiga olishi mumkin.

Misol

priceo‘zgaruvchisi uchun joy ushlagich qo‘shing:

price = 59 txt = f"The price is {price} dollars" print(txt)
O‘zingiz sinab ko‘ring »

To‘ldiruvchi qiymatni formatlash uchun modifikatorni ham o‘z ichiga olishi mumkin.

Modifikator ikki nuqta qo‘shish orqali kiritiladi : keyin qonuniy formatlash turi, masalan,.2f, bu 2 o‘nlikdan iborat sobit nuqta raqamini bildiradi :

Misol

Narxni 2 kasr bilan ko‘rsating:

price = 59 txt = f"The price is {price:.2f} dollars" print(txt)
O‘zingiz sinab ko‘ring »

Bundan tashqari, qiymatni o‘zgaruvchida saqlamasdan to‘g‘ridan-to‘g‘ri formatlashingiz mumkin:

Misol

95 qiymatini 2 kasr bilan ko‘rsating:

txt = f"The price is {95:.2f} dollars" print(txt)
O‘zingiz sinab ko‘ring »


F-stringlarda operatsiyalarni bajarish

Python operatsiyalarini to‘ldiruvchilar ichida bajarishingiz mumkin.

Siz matematik operatsiyalarni bajarishingiz mumkin:

Misol

To‘ldiruvchida matematik amalni bajaring va natijani qaytaring:

txt = f"The price is {20 * 59} dollars" print(txt)
O‘zingiz sinab ko‘ring »

O‘zgaruvchilar ustida matematik amallarni bajarishingiz mumkin:

Misol

Narxni ko‘rsatishdan oldin soliqlarni qo‘shing:

price = 59 tax = 0.25 txt = f"The price is {price + (price * tax)} dollars" print(txt)
O‘zingiz sinab ko‘ring »

To‘ldiruvchilar ichida if...else iboralarini bajarishingiz mumkin:

Misol

Agar narx 50 dan yuqori bo‘lsa, "Qimmat" ni qaytaring, aks holda "Arzon" ni qaytaring:

price = 49 txt = f"It is very {'Expensive' if price>50 else 'Cheap'}" print(txt)
O‘zingiz sinab ko‘ring »

F-stringlarda funksiyalarni bajarish

Siz to‘ldiruvchi ichidagi funksiyalarni bajarishingiz mumkin:

Misol

Qiymatni katta harflarga aylantirish uchun upper() string usulidan foydalaning:

fruit = "apples" txt = f"I love {fruit.upper()}" print(txt)
O‘zingiz sinab ko‘ring »

Funksiya o‘rnatilgan Python usuli bo‘lishi shart emas, siz o‘zingizning funksiyalaringizni yaratishingiz va ulardan foydalanishingiz mumkin:

Misol

Oyoqlarni metrga aylantiruvchi funksiya yarating:

def myconverter(x):   return x * 0.3048 txt = f"The plane is flying at a {myconverter(30000)} meter altitude" print(txt)
O‘zingiz sinab ko‘ring »

Ko‘proq modifikatorlar

Ushbu bobning boshida biz .2f modifikatoridan raqamni 2 kasrli sobit nuqtali raqamga formatlash uchun qanday foydalanishni tushuntirdik.

Qiymatlarni formatlash uchun ishlatilishi mumkin bo‘lgan bir qancha boshqa modifikatorlar mavjud:

Misol

Ming ajratuvchi sifatida verguldan foydalaning:

price = 59000 txt = f"The price is {price:,} dollars" print(txt)
O‘zingiz sinab ko‘ring »

Bu yerda barcha formatlash turlarining ro‘yxati.

Formatting Types
:< Try it Natijani chapga tekislaydi (mavjud joy doirasida)
:> Try it Natijani o‘ngga tekislaydi (mavjud joy doirasida)
:^ Try it Natijani markazga tekislaydi (mavjud joy doirasida)
:= Try it Belgini eng chap tomonga joylashtiradi
:+ Try it Natija ijobiy yoki salbiy ekanligini ko‘rsatish uchun ortiqcha belgisidan foydalaning
:- Try it Minus belgisidan faqat manfiy qiymatlar uchun foydalanish
:  Try it Musbat sonlar oldidan qo‘shimcha bo‘sh joy qo‘yish (manfiy sonlar oldidan esa minus belgisi) uchun bo‘sh joydan foydalanish
:, Try it Minglik ajratuvchi sifatida verguldan foydalanish
:_ Try it Minglik ajratuvchi sifatida pastki chiziqdan foydalanish
:b Try it Binary format
:c Qiymatni mos keladigan Unicode belgisiga aylantiradi
:d Try it Decimal format
:e Try it Ilmiy format, kichik e harfi bilan
:E Try it Ilmiy format, katta E harfi bilan
:f Try it Fix point number format
:F Try it Qat’iy nuqtali son formati, katta harfli ko‘rinishda (inf va nan ni INF va NAN sifatida ko‘rsatadi)
:g General format
:G Umumiy format (ilmiy yozuvlar uchun katta E harfidan foydalanadi)
:o Try it Octal format
:x Try it Hex format, lower case
:X Try it Hex format, upper case
:n Number format
:% Try it Percentage format

String formati()

Python 3.6 dan oldin biz stringlarni formatlash uchunformat()usulidan foydalanganmiz.

format() metodidan hali ham foydalanish mumkin, lekin f-stringlar tezroq ishlaydi va stringlarni formatlashning afzal usuli hisoblanadi.

Ushbu sahifadagi keyingi misollarformat()usuli bilan stringlarni qanday formatlashni ko‘rsatadi.

format()usuli, shuningdek,{} o‘rinbosarlari sifatida jingalak qavslardan foydalanadi, ammo sintaksis biroz boshqacha:

Misol

Narxni ko‘rsatmoqchi bo‘lgan joyni qo‘shing:

price = 49 txt = "The price is {} dollars" print(txt.format(price))
O‘zingiz sinab ko‘ring »

Qiymatni qanday aylantirishni belgilash uchun jingalak qavslar ichiga parametrlarni qo‘shishingiz mumkin:

Misol

Ikki kasrli raqam sifatida ko‘rsatiladigan narxni formatlang:

txt = "The price is {:.2f} dollars"
O‘zingiz sinab ko‘ring »

String format() ma’lumotnomamizdagi barcha formatlash turlarini tekshiring.


Bir nechta qiymatlar

Agar siz ko‘proq qiymatlardan foydalanmoqchi bo‘lsangiz,format()usuliga qo‘shimcha qiymatlarni qo‘shing:

print(txt.format(price, itemno, count))

Va yana to‘ldiruvchilarni qo‘shing:

Misol

quantity = 3 itemno = 567 price = 49 myorder = "I want {} pieces of item number {} for {:.2f} dollars." print(myorder.format(quantity, itemno, price))
O‘zingiz sinab ko‘ring »

Indeks raqamlari

Qiymatlar to‘g‘ri o‘rin tutgichlarga joylashtirilganligiga ishonch hosil qilish uchun indeks raqamlaridan (jingalak qavslar ichidagi raqam {0}) foydalanishingiz mumkin:

Misol

quantity = 3 itemno = 567 price = 49 myorder = "I want {0} pieces of item number {1} for {2:.2f} dollars." print(myorder.format(quantity, itemno, price))
O‘zingiz sinab ko‘ring »

Bundan tashqari, agar siz bir xil qiymatga bir necha marta murojaat qilmoqchi bo‘lsangiz, indeks raqamidan foydalaning:

Misol

age = 36 name = "John" txt = "His name is {1}. {1} is {0} years old." print(txt.format(age, name))
O‘zingiz sinab ko‘ring »

Nomlangan indekslar

Siz {carname} jingalak qavslar ichiga nom kiritish orqali nomlangan indekslardan ham foydalanishingiz mumkin, lekin keyin txt.format(carname = "Ford") parametr qiymatlarini o‘tkazishda nomlardan foydalanishingiz kerak:

Misol

myorder = "I have a {carname}, it is a {model}." print(myorder.format(carname = "Ford", model = "Mustang"))
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!