Python-muoto ()

Sisäänrakennettu format () -menetelmä palauttaa muotoilun esityksen annetusta arvosta, jota ohjaa muotoilija.

format()Toiminto on samanlainen kuin String-muodossa menetelmä. Sisäisesti molemmat menetelmät kutsuvat __format__()objektin menetelmää.

Vaikka sisäänrakennettu format()toiminto on matalan tason toteutus objektin muotoilemiseksi __format__()sisäisesti, merkkijono format()on korkeamman tason toteutus, joka pystyy suorittamaan monimutkaiset muotoilutoiminnot myös useille objektijonoille.

Formaatin () syntakse on:

 muoto (arvo (, format_spec))

format () Parametrit

format()Toiminto otetaan kaksi parametria:

  • arvo - arvo, joka on alustettava
  • format_spec - Määritys siitä, miten arvo tulisi muotoilla.

Formaatin määrittelijä voi olla muodossa:

((täytä) tasaa) (merkki) (#) (0) (leveys) (,) (. tarkkuus) (tyyppi) missä, vaihtoehdot ovat fill :: = mikä tahansa merkki tasaa :: = "" | "=" | "^" merkki :: = "+" | "-" | "" leveys :: = kokonaislukutarkkuus :: = kokonaislukutyyppi :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Näillä linkeillä saat lisätietoja muotoilutyypeistä ja tasauksesta.

Palautusarvo muodosta ()

format()Funktio palauttaa alustettu esitys tietyn arvon määrittämä muoto määrittelyksi.

Esimerkki 1: Numeron muotoilu muodossa ()

 # d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))

Tuotos

 123 123.456790 1100

Esimerkki 2: Numeron muotoilu täytöllä, tasauksella, merkillä, leveydellä, tarkkuudella ja tyypillä

 # integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))

Tuotos

 * + 1234 0123,4570

Tässä, kun muotoilemme kokonaislukua 1234, olemme määrittäneet muotoilun määrittelijän *>+7,d. Ymmärretään jokainen vaihtoehto:

  • * - Täyttömerkki täyttää tyhjät tilat alustamisen jälkeen
  • > - Oikea kohdistusvaihtoehto tasaa tulosarjan oikealle
  • + - Se on merkki vaihtoehto, joka pakottaa numeron allekirjoittamaan (vasemmalla merkki)
  • 7 - Leveysvaihtoehto pakottaa luvun ottamaan vähintään 7 leveyden, muut välit täytetään täytemerkillä
  • , - Tuhannet operaattorit sijoittavat pilkun kaikkien tuhansien väliin.
  • d - Tyyppi-vaihtoehto määrittää, että luku on kokonaisluku.

Kun muotoillaan liukuluku 123.4567, olemme määrittäneet muodon määrittelijän ^-09.3f. Nämä ovat:

  • ^ - Se on keskitasausvaihtoehto, joka kohdistaa tulostejonon jäljellä olevan tilan keskelle
  • - - Se on merkki vaihtoehto, joka pakottaa vain negatiiviset luvut näyttämään merkin
  • 0 - Tyhjien tilojen tilalle sijoitetaan merkki.
  • 9 - Leveysvaihtoehto asettaa luvun vähimmäisleveydeksi 9 (desimaalipilkku, tuhannet pilkku ja merkki)
  • .3 - Tarkkuusoperaattori asettaa tietyn kelluvan luvun tarkkuuden 3 paikkaan
  • f - Tyyppivaihtoehto määrittää, että numero on kelluva.

Esimerkki 3: Formaatin () käyttö korvaamalla __format __ ()

 # custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))

Tuotos

 23

Tässä olemme ohittaneet __format__()luokan menetelmän Person.

Nyt se hyväksyy formatparametrin ja palauttaa arvon 23, jos se on yhtä suuri kuin 'age'. Jos muotoa ei ole määritetty, Nonepalautetaan.

Toiminto format()toimii sisäisesti Person().__format__("age")palauttamaan 23.

Mielenkiintoisia artikkeleita...