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 format
parametrin ja palauttaa arvon 23, jos se on yhtä suuri kuin 'age'
. Jos muotoa ei ole määritetty, None
palautetaan.
Toiminto format()
toimii sisäisesti Person().__format__("age")
palauttamaan 23.