У Python є кілька способів представити вихідні дані програми. Дані можуть бути надруковані у формі, зрозумілій людині, або записані у файл для подальшого використання, або навіть у іншій визначеній формі. Користувачі часто хочуть більше контролювати форматування виводу, ніж просто друкувати значення, розділені пробілами.
Форматування виводу в Python
Існує кілька способів форматування виводу за допомогою методу String Python .
- Використання оператора String Modulo (%)
- Використання методу форматування
- Використання методу рядків
- Правило перетворення формату Python
Форматування виводу за допомогою оператора String Modulo (%)
The Модуль оператора % також можна використовувати для форматування рядків. Він інтерпретує лівий аргумент так само, як формат у стилі printf(), як у рядках мови C, які застосовуються до правого аргументу. У Python немає функції printf(), але функціональність стародавнього printf міститься в Python . З цією метою оператор % перевантажується класом string для виконання форматування рядка. Тому його часто називають рядковим оператором модуля (або іноді навіть модулем). Рядковий модульний оператор ( % ) все ще доступний у Python(3.x) і широко використовується. Але нині старий стиль форматування вилучено з мови.
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> |
>
>
Вихід
Geeks : 1, Portal : 5.33 Total students : 240, Boys : 120 031 3.561E+02>

Форматування виводу за допомогою оператора Modulo
У нашому прикладі їх два: %2d і %5.2f. Загальний синтаксис заповнювача формату:
%[flags][width][.precision]type>
Давайте подивимося на заповнювачі в нашому прикладі.
- Перший покажчик місця заповнення «%2d» використовується для першого компонента нашого кортежу, тобто цілого числа 1. Воно буде надруковано з 2 символами, і оскільки 1 складається лише з однієї цифри, вихід доповнюється 1 пробілом на початку.
- Другий заповнювач «%5.2f» призначений для числа з плаваючою точкою. Як і інші заповнювачі, він представлений символом %. Він визначає загальну кількість цифр, які має містити рядок, включаючи десяткову крапку та всі цифри як до, так і після коми.
- Наше число з плаваючою речовиною 05.333 відформатовано з 5 символів і точністю 2, позначених числом після «.» у заповнювачі. Останній символ «f» вказує на те, що заповнювач представляє значення з плаваючою точкою.
Форматування виводу за допомогою методу форматування
Метод format() додано в Python(2.6). Метод форматування рядків вимагає більше ручних зусиль. Користувачі використовують {}, щоб позначити, де змінна буде замінена, і можуть надати детальні директиви форматування, але користувач також повинен надати інформацію для форматування. Цей метод дозволяє нам об’єднувати елементи в межах виводу за допомогою позиційного форматування. Наприклад -
Приклад 1: Код пояснює різні методи форматування рядків Python. Значення або надаються явно, або посилаються на порядок, у якому вони з’являються в процедурі format(). f-Strings дозволяють використовувати фігурні дужки та префікс f для вбудовування виразів у рядок літерали. Вирази f-рядків оцінюються, і замість них замінюються відповідні значення.
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'}'>)> |
>
>
Вихід
I love Geeks for 'Geeks!' Geeks and Portal Portal and Geeks I love Geeks for 'Geeks!' Geeks and Portal>
Дужки та символи в них (так звані поля форматування ) замінюються об’єктами, переданими в метод format(). Число в дужках можна використовувати для позначення положення об’єкта, переданого в метод format().
приклад 2: За допомогою позиційних параметрів і іменованого аргументу ('other') у першому рядку значення 'Geeks', 'For' і 'Geeks' додаються до шаблону рядка. 'Geeks:12, Portal: 0.55′ друкується, причому перше значення відображається як 2-значне ціле число, а друге число має 2 знаки після коми та 8-бітну ширину. Іменовані аргументи методу format(), позначені спеціальними мітками («a» і «p») для чисел «453» і «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>))> |
>
>
Вихід
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>
На наступній діаграмі з прикладом використання показано, як метод format працює для позиційних параметрів:

Форматування виводу за допомогою методу Format
приклад 3: Код показує, як використовувати словники з методом format() Python. «Вкладка» словника в першому прикладі містить ключі та пов’язані значення. Метод format() використовує індексування для розміщення значень у шаблоні рядка. У другому прикладі іменовані ключі в словнику використовуються як дані.
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))> |
>
>
Вихід
Geeks: 4127; For: 4098; Geeks: 8637678 I love GeeksForGeeks computer Portal>
Форматування виводу за допомогою методу String
Цей вивід відформатовано за допомогою рядковий метод, тобто операції зрізання та конкатенації. Рядковий тип має кілька методів, які допомагають форматувати вивід у вигадливіший спосіб. Деякі методи, які допомагають у форматуванні виводу, є str.light() , str.rjust() , і 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>,>'-'>))> |
>
>
видалити перший символ у Excel
Вихід
Center aligned string with fillchr: ##########I love geeksforgeeks########## The left aligned string is : I love geeksforgeeks-------------------- The right aligned string is : --------------------I love geeksforgeeks>
Правило перетворення формату Python
У цій таблиці наведено вказівки щодо стандартного перетворення формату, які використовуються функцією Python format().
| Перетворення | Значення |
|---|---|
| d | Десяткове ціле число |
| b | Двійковий формат |
| О | вісімковий формат |
| в | Застаріле та еквівалентне «d» |
| x або X | Шістнадцятковий формат |
| e або E | Експоненціальний запис |
| f або F | Десяткове число з плаваючою комою |
| g або G | Загальний формат |
| в | Один символ |
| r | Формат рядка (з використанням repr()) |
| с | Формат рядка (з використанням str())) |
| % | Відсоток |