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 ujemnych0- 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 miejscaf- 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.








