logo

Formatowanie wyjściowe Pythona

W tym samouczku nauczymy się formatować dane wyjściowe. Formatowanie i wyjście odnoszą się do prezentacji wyników programu. Możemy sformatować dane wyjściowe w formie czytelnej dla człowieka lub zapisać dane w pliku i innej określonej formie. Czasami musimy kontrolować nadchodzące dane wyjściowe, aby móc je sformatować zgodnie z naszymi wymaganiami. Użytkownicy mogą obsługiwać ciągi znaków, korzystając z operacji dzielenia i łączenia ciągów, aby utworzyć dowolny układ.

jak znaleźć rozmiar monitora

Istnieją różne sposoby formatowania danych wyjściowych.

  • Do sformatowania literałów łańcuchowych możemy użyć metody f string.
  • The format() metoda ciągów pomaga użytkownikowi stworzyć bardziej wyszukany wynik.
  • Możemy również wykonać operacje łączenia ciągów, aby utworzyć dowolny układ. Klasa string ma również pewne metody, które wykonują przydatne operacje w celu dopełnienia ciągów znaków do określonej szerokości kolumny.

Formatowanie danych wyjściowych za pomocą operatora String Modulo (%)

Operator % pomaga nam sformatować ciąg. Interpretuje lewy argument jak printf() ciąg formatujący zastosowany do prawego argumentu. Python nie zapewnia printf() funkcjonować. W tym celu operator modulo jest przeciążany przez klasę string w celu wykonania formatowania stringu. Jest on również znany jako operator String Modulo.

Operator łańcuchowy modulo jest nadal dostępny w Pythonie (3.x) i jest szeroko stosowany, ale obecnie stary styl formatowania został usunięty z języka.

Rozumiemy następujący przykład -

Przykład -

 #integer and float value print('integer : % 2d, float : % 5.2f' %(1, 05.333)) #integer value print('Total Player : % 3d, Batsman : % 2d' %(24, 12)) #octal value print('% 5.3o'% (50)) #exponential value print('% 10.2E'% (456.1458)) 

Wyjście:

 integer : 1, float : 5.33 Total Player : 24, Batsman : 12 062 4.56E+02 

Wyjaśnienie -

W powyższym kodzie „%2d” jest symbolem zastępczym, który wykorzystuje pierwszy element krotki. Drukuje dwa znaki. Do opisu formatu liczby zmiennoprzecinkowej używa się „%5.2f”. Jest on również wprowadzany za pomocą znaku %, podobnie jak inne symbole zastępcze. Pokazuje całkowitą liczbę ciągów, które może zawierać. Część dziesiętna liczby lub precyzja jest ustawiona na 2, a liczba następuje po znaku „.” w symbolu zastępczym. Ostatni znak „f” oznacza liczbę zmiennoprzecinkową.

Formatowanie danych wyjściowych przy użyciu metody formatowania

The format() wymaga więcej wysiłku ręcznego niż inne metody. Używamy {} do oznaczania podstawień zmiennych i podawania szczegółowych dyrektyw dotyczących formatowania, ale musimy także podać sformatowane informacje. Liczby w nawiasach możemy użyć do formatowania pozycyjnego. Rozumiemy następujący przykład.

Przykład -

 # using format() method print('{} {}'.format('Hello', 'World')) # using format() method and referring # a position of the object print('{0} to {1}'.format('Welcome', 'JavaTpoint')) print('{1} to {0}'.format('Welcome', 'JavaTpoint')) 

Wyjście:

 Hello World Welcome to JavaTpoint JavaTpoint to Welcome 

Nawiasy i znaki w elemencie nazywane są polami formatu, które są zastępowane obiektem przekazywanym do format() metoda. Liczby w nawiasach mogą odnosić się do pozycji obiektu przekazanej do metody format().

Rozumiemy inny przykład -

Przykład -

 print('Number one position is {0}, {1}, and {other}.' .format('Java', 'T', other ='Point')) # using format() method with number print('Java :{0:2d}, Tpoint :{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('Java: {a:5d}, Tpoint: {p:8.2f}'. format(a = 453, p = 59.058)) 

Wyjście:

 Number one position is Java, T, and Point. Java :12, Tpoint : 0.55 Second argument: 11, first one: 47.42 Java: 453, Tpoint: 59.06 

Przykład - 3:

 tab = {'Java': 4127, 'T': 4098, 'point': 8637678} # using format() in dictionary print('Java: {0[Java]:d}; For: {0[T]:d}; ' 'Java: {0[Java]:d}'.format(tab)) data = dict(fun ='JavaTpoint', adj ='Website') # using format() in dictionary print('I love {fun} {adj}'.format(**data)) 

Wyjście:

 Java: 4127; For: 4098; Java: 4127 I love JavaTpoint Website 

Formatowanie danych wyjściowych przy użyciu metody String

Możemy również sformatować dane wyjściowe za pomocą operacji dzielenia i łączenia ciągów. Typ string ma pewne metody, które pomagają sformatować dane wyjściowe w bardziej wyszukany sposób. Kilka metod pomagających w sformatowaniu wyjścia - str.światło(), str.rjust(), I str.centrum(). Rozumiemy następujący przykład -

Przykład -

 str1 = 'I love JavaTpoint' # Printing the center aligned # string with fillchr print ('Center aligned string with fillchr: ') print (str1.center(30, '$')) # Printing the left aligned # string with '-' padding print ('The left aligned string is : ') print (str1.ljust(40, '&')) # Printing the right aligned string # with '-' padding print ('The right aligned string is : ') print (str1.rjust(40, '-')) 

Wyjście:

 Center aligned string with fillchr: $$$$$$I love JavaTpoint$$$$$$$ The left aligned string is: I love JavaTpoint&&&&&&&&&&&&&&&&&&&&&&& The right aligned string is : -----------------------I love JavaTpoint 

Formatuj regułę konwersji w Pythonie

Poniżej znajduje się tabela konwersji i jej znaczenia.

Konwersja Oznaczający
D Reprezentuje dziesiętną liczbę całkowitą ze znakiem.
I Reprezentuje dziesiętną liczbę całkowitą ze znakiem.
O Reprezentuje ósemkę bez znaku.
W Reprezentuje wartość Przestarzałą i jest odpowiednikiem 'd', tj. liczby całkowitej dziesiętnej ze znakiem.
X Reprezentuje liczbę szesnastkową bez znaku (małe litery).
X Reprezentuje liczbę szesnastkową bez znaku (wielkie litery).
To jest Reprezentuje zmiennoprzecinkowy format wykładniczy (małe litery).
I Reprezentuje zmiennoprzecinkowy format wykładniczy (wielkie litery).
F Reprezentuje zmiennoprzecinkowy format dziesiętny.
F Reprezentuje zmiennoprzecinkowy format dziesiętny.
G Reprezentuje to samo co „e”, jeśli wykładnik jest większy niż -4 lub mniejszy niż precyzja, „f” w przeciwnym razie.
G Reprezentuje to samo co „E”, jeśli wykładnik jest większy niż -4 lub mniejszy niż precyzja, w przeciwnym razie „F”.
C Reprezentuje pojedynczy znak (akceptuje liczbę całkowitą lub pojedynczy ciąg znaków).
R Reprezentuje String (konwertuje dowolny obiekt Pythona za pomocą repr()).
S Reprezentuje String (konwertuje dowolny obiekt Pythona za pomocą str()).
% Reprezentuje Żaden argument nie jest konwertowany, w wyniku pojawia się znak „%”.

Wniosek

Omówiliśmy, jak sformatować dane wyjściowe w Pythonie. Opisaliśmy różne techniki wraz z przykładami. Python zapewnia możliwość modyfikowania wyników zgodnie z wymaganiami. Użytkownicy mogą używać ciągu lub format() metody z argumentami pozycyjnymi. W tym samouczku zawarto także tabelę reguł konwersji.