Menü Kapat

Pythonda olan modullardan biri də format() moduludur. Bu modul haqqında danışmamışdan qabaq bəzi məqamlara nəzər yetirək.Çünki, bu modul birbaşa yaranmamışdır. Bu həftə format() modulu yaranana qədər onu  hansı funksiyaların əvəz etdiyindən danışacağıq. Aydındır ki, Pythonda məlumatları çıxışa vermək üçün print()-dən istifadə olunur. Məsələn:

  • A=int(input(“ededini  daxil edin”))
  • print(a)

Burada nəticə olaraq, daxil etdiyimiz ədəd çıxışa veriləcək. Tutaq ki, 20 daxil etdik, deməli, 20 də çıxışa veriləcək. Elə ola bilər ki, sətir tipində olan məlumatı çıxışa vermək lazım gəlsin. Məsələn:

  • print(“bu sizin daxil etdiyiniz ededdir”)

Bəzi hallarda, əsasən də, programın daha interaktiv formada olması üçün, çıxışa verdikdə də istifadəçiyə daxil etdiyi məlumatla birlikdə müəyyən məlumat vermək lazım gəlir:

  • print(“sizin daxil etdiyiniz eded “,a,”dir”)

Bu zaman həm istifadəçinin daxil etdiyi ədəd, həm də program müəllifinin şərhləri çıxışa veriləcək. Tutaq ki, başqa bir program yazmışıq:

  • name=input(“adinizi daxil edin”)
  • print(‘sizin adiniz ’ +name+’-dir’)

Burada name string formatındadır buna görə də ” +” dan istifadə olunub. int formatında isə vergüldən istifadə edilir.  Lakin, bu kodlar qısa formadadır, yəni bu kodların hal-hazırda müxtəlif məqsədlər üçün istifadə olunan programların yalnızca 0.1 faizini təşkil edir. Kod böyüdükcə dəyişənlər, dəyişənlər üzərində əməliyyatlar da artır və çıxışa 1-dən çox dəyişən vermək lazım gəlir. Məsələn:

SALAM ___

DAXİL  ETDİYİNİZ MƏLUMATLARI TƏSDİQ EDİN

SİZİN SOYADINIZ ___ ATA ADINIZ ___ YAŞADIĞINIZ ÜNVAN ___

ŞƏXSİYYƏT VƏSİQƏSİNİN SERİYA NÖMRƏSİ ___

 Bu kodu print() vasitəsilə çıxışa verdiyinizi düşünün. Əlbəttə, belə olan halda yuxarıdakı qayda əlverişsiz olacaq. Buna görə də, Pythonda format() modulu vardır. Əvvəllər onun əvəzinə %dən də istifadə olunurdu. Daha çox Pythonun 3.x modellərində istifadə edilirdi. Lakin, sonradan format() ilə əvəz olunmağa başladı.  Buna görə də,  format()  moduluna keçməmişdən qabaq müəyyən qədər %s və %d, %f haqqında məlumat verməyə çalışacam

%s demək olar ki yuxarıda qeyd etdiyim “+” la oxşar funksiyanı yerinə yetirir. Belə ki, onun vasitəsilə string tipində olan məlumatları birləşdirmək üçün istifadə olunur. Məsələn:

  • Ad=input(“adinizi daxil edin”)
  • print(“sizin adiniz %s-dir” %name)

Bir az da mürəkkəbləşdirək

  • Ad=input(“adinizi daxil edin”)
  • Soyad=input(“soyadinizi daxil edin”)
  • Ata_adı=input(“ata adinizi daxil edin”)
  • print( “sizin adiniz %s, soyadiniz %s, ata adiniz %s-dir” %(ad,soyad,ata_adi))

Burada ardıcıl olaraq ad, soyad, ata adı çıxışa veriləcəkdir. İndi isə %d haqqında danışaq. %d yuxarıda qeyd olunan vergül funksiyasını yerinə yetirir. Məsələn:

  • Age=int(input(yasinizi daxil edin))
  • print(“sizin yasiniz %d-dir” %age)

Hətta burada tam ədədin nə qədər yer tutacağına da qərar verə bilərsiniz məsələn

  • print(” sizin yasiniz %5d-dir” %24)

Bu kodu yazdıqda çıxışa  ‘   24’  çıxacaq yəni ədəd 5 boşluq yer tutacaq. Hətta, boşluqları 0 ilə doldura bilərsiniz:

  • print(“sizin yasiniz %05d-dir”  %24)
  • print(“sizin yasiniz %.5d-dir”  %24)

Hər ikisinin cavabı 00024 olacaq

Hətta

  • print(“sizin yasiniz %10.5-dir”  %23)

də yazmaq olar. Beləcə, çıxışa verdikdə ədədi yazmaq üçün 10 boşluq ayrılacaq və onun 5-də ədəd yazılacaq, qalan 5 isə boşluq formasında qalacaq yəni cavab  ‘     00023’ olacaq.

Lakin, bilirik ki, ədədlər həmişə tam olmur. float tipində də olur. Buna görə isə %f-dən istifadə olunur. Məsələn:

  • print(“sizin daxil etdiyiniz mebleğ %f man-dir” %123.12)

Cavab olaraq çıxışa sizin daxil etdiyiniz məbləğ 123.120000 man-dır veriləcək. Səbəbi isə float tipində nöqtədən sonra 6 ədəd xana buraxılmasıdır. Bu xanaları azatmaq üçün %.f-dən istifadə olunur. Məsələn:

  • print(“sizin daxil etdiyiniz mebleg %.2f man-dir”  %123.12)

Beləcə çıxışa sizin daxil etdiyiniz mebleg 123.12 man-dir veriləcək