Format Pythona ()

Wbudowana metoda format () zwraca sformatowaną reprezentację danej wartości kontrolowanej przez specyfikator formatu.

format()Funkcja jest podobna do metody format string. Wewnętrznie obie metody wywołują __format__()metodę obiektu.

Chociaż funkcja wbudowana format()jest implementacją niskiego poziomu do formatowania obiektu przy użyciu __format__()wewnętrznego, łańcuch format()jest implementacją wyższego poziomu, która może również wykonywać złożone operacje formatowania na wielu ciągach obiektów.

Składnia format () to:

 format (wartość (, format_spec))

format () Parametry

format()Funkcja ma dwa parametry:

  • wartość - wartość do sformatowania
  • format_spec - specyfikacja dotycząca sposobu formatowania wartości.

Specyfikator formatu może mieć format:

((wypełnij) wyrównaj) (znak) (#) (0) (szerokość) (,) (. precyzja) (typ) gdzie opcje to fill :: = dowolny znak align :: = "" | "=" | Znak „^” :: = „+” | „-” | "" szerokość :: = dokładność liczby całkowitej :: = typ liczby całkowitej :: = "b" | „c” | „d” | „e” | „E” | „f” | „F” | „g” | „G” | „n” | „o” | „s” | „x” | „X” | „%”

Odwiedź te linki, aby dowiedzieć się więcej o typach formatów i wyrównaniu.

Wartość zwracana z formatu ()

format()Funkcja zwraca sformatowany reprezentację danej wartości określonej przez specyfikacją formatu.

Przykład 1: Formatowanie liczb za pomocą format ()

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

Wynik

 123 123.456790 1100

Przykład 2: Formatowanie liczb z wypełnieniem, wyrównaniem, znakiem, szerokością, dokładnością i typem

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

Wynik

 * + 1234 0123,4570

Tutaj, podczas formatowania liczby całkowitej 1234, określiliśmy specyfikator formatowania *>+7,d. Rozumiemy każdą opcję:

  • * - Jest to znak wypełnienia, który wypełnia puste przestrzenie po sformatowaniu
  • > - Jest to opcja wyrównania do prawej, która wyrównuje ciąg wyjściowy do prawej
  • + - To opcja znaku wymusza podpisanie numeru (posiadanie znaku po jego lewej stronie)
  • 7 - Jest to opcja szerokości, która wymusza minimalną szerokość 7, pozostałe spacje zostaną wypełnione znakiem wypełnienia
  • , - To operator tysięcy umieszcza przecinek między wszystkimi tysiącami.
  • d - Jest to opcja typu, która określa, że ​​liczba jest liczbą całkowitą.

Podczas formatowania liczby zmiennoprzecinkowej 123.4567określiliśmy specyfikator formatu ^-09.3f. To są:

  • ^ - Jest to opcja wyrównania do środka, która wyrównuje ciąg wyjściowy do środka pozostałej przestrzeni
  • - - Jest to opcja znaku, która wymusza wyświetlanie znaku tylko na liczbach ujemnych
  • 0 - Jest to znak, który jest umieszczany w miejscu pustych przestrzeni.
  • 9 - Jest to opcja szerokości, która ustawia minimalną szerokość liczby na 9 (w tym przecinek dziesiętny, tysiące przecinek i znak)
  • .3 - Jest to operator precyzji, który ustawia precyzję podanej liczby zmiennoprzecinkowej na 3 miejsca
  • f - Jest to opcja typu, która określa, że ​​liczba jest liczbą zmiennoprzecinkową.

Przykład 3: Używanie format () przez zastąpienie __format __ ()

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

Wynik

 23

Tutaj nadpisaliśmy __format__()metodę klasy Person.

Teraz przyjmuje formatparametr i zwraca 23, jeśli jest równy 'age'. Jeśli nie określono formatu, Nonezwracana jest wartość.

Funkcja format()działa wewnętrznie, Person().__format__("age")aby zwrócić 23.

Interesujące artykuły...