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 merkin0- 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 paikkaanf- 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.








