W Pythonie istnieje kilka sposobów prezentowania wyników działania programu. Dane można wydrukować w formie czytelnej dla człowieka, zapisać w pliku do wykorzystania w przyszłości, a nawet w innej określonej formie. Użytkownicy często chcą mieć większą kontrolę nad formatowaniem wyników niż zwykłe drukowanie wartości oddzielonych spacjami.
Formatowanie wyjściowe w Pythonie
Istnieje kilka sposobów formatowania danych wyjściowych przy użyciu metody String w Pyton .
- Korzystanie z operatora String Modulo (%)
- Korzystanie z metody formatowania
- Korzystanie z metody ciągów
- Reguła konwersji formatu w Pythonie
Formatowanie danych wyjściowych za pomocą operatora String Modulo (%)
The % moduł operatora może być również używany do formatowania ciągów. Interpretuje lewy argument podobnie jak format w stylu printf(), jak w ciągach języka C, które należy zastosować do prawego argumentu. W Pythonie nie ma funkcji printf(), ale zawarta jest w niej funkcjonalność starożytnego printf Pyton . W tym celu operator modulo % jest przeciążany przez klasę string w celu wykonania formatowania stringu. Dlatego często nazywa się go operatorem modulo (lub czasami nawet modułem) na łańcuchach. Operator łańcuchowy modulo ( % ) jest nadal dostępny w Pythonie (3.x) i jest powszechnie używany. Ale obecnie stary styl formatowania został usunięty z języka.
Python3
# Python program showing how to use string modulo operator(%)> print> (> 'Geeks : %2d, Portal : %5.2f'> %> (> 1> ,> 05.333> ))> print> (> 'Total students : %3d, Boys : %2d'> %> (> 240> ,> 120> ))> # print integer value> print> (> '%7.3o'> %> (> 25> ))> # print octal value> print> (> '%10.3E'> %> (> 356.08977> ))> # print exponential value> |
>
>
Wyjście
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Formatowanie wyjściowe przy użyciu operatora Modulo
W naszym przykładzie są dwa takie: %2d i %5.2f. Ogólna składnia symbolu zastępczego formatu jest następująca:
%[flags][width][.precision]type>
Przyjrzyjmy się symbolom zastępczym w naszym przykładzie.
- Pierwszy symbol zastępczy „%2d” jest używany dla pierwszego składnika naszej krotki, tj. liczby całkowitej 1. Zostanie ona wydrukowana z 2 znakami, a ponieważ 1 składa się tylko z jednej cyfry, dane wyjściowe są dopełniane 1 spacją na początku.
- Drugi symbol zastępczy „%5.2f” jest liczbą zmiennoprzecinkową. Podobnie jak inne symbole zastępcze, jest on wprowadzany znakiem %. Określa całkowitą liczbę cyfr, jakie powinien zawierać ciąg, łącznie z przecinkiem dziesiętnym i wszystkimi cyframi, zarówno przed, jak i po przecinku.
- Nasz numer zmiennoprzecinkowy 05.333 jest sformatowany przy użyciu 5 znaków i dokładności do 2, oznaczonych liczbą występującą po „.” w symbolu zastępczym. Ostatni znak „f” wskazuje, że symbol zastępczy reprezentuje wartość zmiennoprzecinkową.
Formatowanie danych wyjściowych przy użyciu metody formatowania
Metoda format() została dodana w Pythonie(2.6). Metoda formatowania ciągów wymaga więcej wysiłku ręcznego. Użytkownicy używają {} do zaznaczenia miejsca, w którym zmienna zostanie zastąpiona i mogą podać szczegółowe wytyczne dotyczące formatowania, ale użytkownik musi także podać informacje, które mają zostać sformatowane. Ta metoda pozwala nam łączyć elementy w wyniku poprzez formatowanie pozycyjne. Na przykład -
Przykład 1: Kod wyjaśnia różne techniki formatowania ciągów znaków w języku Python. Wartości są albo podawane jawnie, albo odwołują się do nich w kolejności, w jakiej pojawiają się w procedurze format(). Ciągi f umożliwiają użycie nawiasów klamrowych i przedrostka f w celu osadzenia wyrażeń w ciągu literały. Oceniane są wyrażenia f-Strings i zastępowane są ich odpowiednimi wartościami.
Python3
print> (> 'I love {} for '{}!''> .> format> (> 'Geeks'> ,> 'Geeks'> ))> # using format() method and referring a position of the object> print> (> '{0} and {1}'> .> format> (> 'Geeks'> ,> 'Portal'> ))> print> (> '{1} and {0}'> .> format> (> 'Geeks'> ,> 'Portal'> ))> print> (f> 'I love {'Geeks'} for '{'Geeks'}!''> )> # using format() method and referring a position of the object> print> (f> '{'Geeks'} and {'Portal'}'> )> |
>
>
Wyjście
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Nawiasy i znajdujące się w nich znaki (tzw formatuj pola ) są zastępowane obiektami przekazanymi do metody format(). Liczby w nawiasach mogą odnosić się do pozycji obiektu przekazanej do metody format().
Przykład 2: Za pomocą parametrów pozycyjnych i nazwanego argumentu („other”) w pierwszym wierszu wartości „Geeks”, „For” i „Geeks” są dodawane do szablonu ciągu znaków.'Geeks:12, Portal: 0.55′ jest drukowana, przy czym pierwsza wartość jest wyświetlana jako 2-cyfrowa liczba całkowita, a druga liczba ma 2 miejsca po przecinku i 8-bitową szerokość. Nazwane argumenty metody format(), oznaczone specjalnymi etykietami („a” i „p”) dla liczb „453” i „59.058”,
Python3
# combining positional and keyword arguments> print> (> 'Number one portal is {0}, {1}, and {other}.'> > .> format> (> 'Geeks'> ,> 'For'> , other> => 'Geeks'> ))> # using format() method with number> print> (> 'Geeks :{0:2d}, Portal :{1:8.2f}'> .> > format> (> 12> ,> 00.546> ))> # Changing positional argument> print> (> 'Second argument: {1:3d}, first one: {0:7.2f}'> .> > format> (> 47.42> ,> 11> ))> print> (> 'Geeks: {a:5d}, Portal: {p:8.2f}'> .> > format> (a> => 453> , p> => 59.058> ))> |
>
>
Wyjście
Number one portal is Geeks, For, and Geeks. Geeks :12, Portal : 0.55 Second argument: 11, first one: 47.42 Geeks: 453, Portal: 59.06>
Poniższy diagram z przykładem użycia przedstawia działanie metody format dla parametrów pozycyjnych:

Formatowanie wyjściowe przy użyciu metody Format
Przykład 3: Kod pokazuje, jak używać słowników za pomocą metody format() języka Python. Zakładka słownika w pierwszym przykładzie zawiera klucze i powiązane wartości. Metoda format() wykorzystuje indeksowanie do umieszczenia wartości w szablonie ciągu. W drugim przykładzie nazwane klucze w słowniku są używane jako dane.
Python3
tab> => {> 'geeks'> :> 4127> ,> 'for'> :> 4098> ,> 'geek'> :> 8637678> }> # using format() in dictionary> print> (> 'Geeks: {0[geeks]:d}; For: {0[for]:d}; '> > 'Geeks: {0[geek]:d}'> .> format> (tab))> data> => dict> (fun> => 'GeeksForGeeks'> , adj> => 'Portal'> )> print> (> 'I love {fun} computer {adj}'> .> format> (> *> *> data))> |
>
>
Wyjście
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Formatowanie danych wyjściowych przy użyciu metody String
To wyjście jest formatowane przy użyciu metoda stringowa, tj. operacje krojenia i łączenia. Typ string ma kilka metod, które pomagają w bardziej wyszukanym formatowaniu danych wyjściowych. Niektóre metody pomagające w formatowaniu danych wyjściowych to str.światło() , str.rjust() , I str.centre()
Python3
cstr> => 'I love geeksforgeeks'> # Printing the center aligned string with fillchr> print> (> 'Center aligned string with fillchr: '> )> print> (cstr.center(> 40> ,> '#'> ))> # Printing the left aligned string with '-' padding> print> (> 'The left aligned string is : '> )> print> (cstr.ljust(> 40> ,> '-'> ))> # Printing the right aligned string with '-' padding> print> (> 'The right aligned string is : '> )> print> (cstr.rjust(> 40> ,> '-'> ))> |
>
>
Wyjście
Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>
Reguła konwersji formatu w Pythonie
W poniższej tabeli wymieniono standardowe wytyczne dotyczące konwersji formatu używane przez funkcję format() języka Python.
Konwersja | Oznaczający |
---|---|
D | Dziesiętna liczba całkowita |
B | Format binarny |
O | formacie ósemkowym |
W | Przestarzałe i równoważne „d” |
x lub X | Format szesnastkowy |
e lub E | Notacja wykładnicza |
f lub F | Dziesiętny zmiennoprzecinkowy |
g lub G | Ogólny format |
C | Pojedynczy znak |
R | Format ciągu (przy użyciu repr()) |
S | Format ciągu (przy użyciu str())) |
% | Odsetek jak znaleźć rozmiar monitora |