April 28, 2020

Python matnli ma'lumotlar (3-qism)

Matnli ma'lumotlarni formatlash

  • "Python o'zgaruvchilari" bo'limida bilib olganimizdek, satrlar va raqamlarni quyidagicha birlashtira olmaymiz:
age = 23
txt = "Mening yoshim" + age
print(txt)                    # Xatolik chiqaradi

—-— O'zingiz sinab ko'ring —-—


  • Lekin biz format() metodi yordamida matnli/belgili ma'lumotlar va raqamlarni birlashtira olamiz!

format() metodi bir nechta argumentlarni qabul qila oladi, ularni formatlashtiradi va ularni {} to'ldiruvchisi bo'lgan satrga joylashtiradi, masalan:

age = 36
txt = "My name is John, and I am {}"
print(txt.format(age))

—-— O'zingiz sinab ko'ring —-—


  • format() metodi cheksiz argumentlarni qabul qila oladi va tegishli to'ldiruvchilarga joylashtiriladi:
ism = 'Sarvar'
yosh = '25'
manzil = 'Toshkent shahar'
txt = "Mening ismim {}, yoshim {}da. Men {}da yashayman"
print(txt.format(ism, yosh, manzil))

—-— O'zingiz sinab ko'ring —-—


  • Argumentlar to'g'ri to'ldiruvchilarga qo'yilganligiga ishonch hosil qilish uchun {0} indeks raqamlaridan foydalanishingiz mumkin:
ism = 'Sarvar'
yosh = '25'
manzil = 'Toshkent shahar'
txt = "Mening ismim {1}, yoshim {0}da. Men {2}da yashayman"
print(txt.format(yosh, ism, manzil))

—-— O'zingiz sinab ko'ring —-—


Maxsus belgi

Matnli ma'lumotga ba'zi belgilarni kiritish muammolarni keltirib chiqaradi, bunday muammolarga duch kelmaslik uchun maxsus belgilardan (escape character) foydalaning.

Maxsus belgi - siz ishlatmoqchi belgidan oldin ishlatiladigan \ belgisi.

Masalan, matnli ma'lumot ichida qo'shtirnoq ishlatmoqchi bo'lsangiz, Python xatolik qaytaradi:

txt = "We are the so-called "Vikings" from the north."   # Xatolik ko'rsatadi

—-— O'zingiz sinab ko'ring —-—

Yuqoridagi muammoni hal etish uchun maxsus belgi ya'ni 'escape character' bilan birga ishlatishingiz mumkin \":

txt = "We are the so-called \"Vikings\" from the north."

—-— O'zingiz sinab ko'ring —-—


Python-da ishlatiladigan boshqa maxsus belgilar:


Agar savollaringiz bo'lsa, telegram guruhimizda bemalol muhokama qilishingiz mumkin!

O'zingizni va yaqinlaringizni asrang! Telegram kanalimiz : @online_web_dasturlash