logo

Python | Форматування виводу

У 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>
Форматування виводу за допомогою оператора String Modulo (%)

Форматування виводу за допомогою оператора 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()))

%

Відсоток