Форматування рядка Python – як відформатувати рядок?

Форматування рядків дозволяє створювати динамічні рядки шляхом поєднання змінних і значень. У цій статті ми обговоримо близько 5 способів форматування рядка.

Ви дізнаєтесь про різні методи форматування рядка з прикладами для кращого розуміння. Давайте подивимося на них зараз!

Як форматувати рядки в Python

Існує п’ять різних способів виконання форматування рядка Python

  • Форматування за допомогою оператора %.
  • Форматування за допомогою рядкового методу format().
  • Форматування за допомогою рядкових літералів, які називаються f-рядками.
  • Форматування за допомогою класу шаблону рядка
  • Форматування за допомогою рядкового методу center().

Отже, ми побачимо всі вищезгадані способи, а також зосередимося на тому, яка стратегія форматування рядка є найкращою.

1. Як відформатувати рядок за допомогою оператора %

Це найстаріший спосіб форматування рядків. Тут ми використовуємо модуль % оператор . Модуль % також відомий як оператор форматування рядка.

Рядок формату Python за допомогою оператора %

У виразі The mangy, scrawn broy dog ​​%s gobbled down % ‘hurriedly’, заповнювач %s у рядку замінено на значення ‘hurriedly’.

Python3




print> (> 'The mangy, scrawny stray dog %s gobbled down'> %> 'hurriedly'> +> > 'the grain-free, organic dog food.'> )>

Вихід

The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food. 

Введення кількох рядків за допомогою оператора modulo

Тут ми вставляємо кілька рядків за допомогою оператора %.

Python3




x> => 'looked'> print> (> 'Misha %s and %s around'> %> (> 'walked'> ,x))>

Вихід

Misha walked and looked around 

Точна обробка в Python за допомогою оператора %

Числа з плаваючою комою використовують формат %a.bf . тут, a це буде мінімальна кількість цифр у рядку; вони можуть бути доповнені пробілом, якщо ціле число не має стільки цифр.

Близько до цього, bf визначає, скільки цифр має відображатися після коми.

У цьому коді рядок «Значення pi: %5.4f» містить специфікатор формату %5.4f. Специфікатор формату %5.4f використовується для форматування числа з плаваючою комою з мінімальною шириною 5 і точністю 4 знаки після коми.

Python3




print> (> 'The value of pi is: %5.4f'> %> (> 3.141592> ))>

Вихід

The value of pi is: 3.1416 

Кілька типів перетворення форматів

У наведеному коді рядок форматування Python перетворюється на ціле число та плаваючу кому за допомогою %d,%f.

Python3




variable> => 12> string> => 'Variable as integer> => %> d > Variable as> float> => %> f'> %> (variable, variable)> print> (string)>

Вихід

Variable as integer = 12 Variable as float = 12.000000 

Примітка: Щоб дізнатися більше про %-форматування, див Форматування рядка в Python за допомогою %

2. Як відформатувати рядок за допомогою методу format().

Метод Format(). був представлений разом із Python3 для більш ефективної обробки складного форматування рядків.

Засоби форматування працюють, поміщаючи в рядок одне або більше полів заміни та заповнювачів, визначених парою фігурних дужок { }, і викликаючи str.format() . Значення, яке ми хочемо помістити в заповнювачі та об’єднати з рядком, переданим як параметр у функцію format.

Синтаксис: «Рядок тут {}, а потім також {}».format(‘something1′,’something2’)

Форматування рядка Python за допомогою методу format().

Цей код використовує {} як покажчик місця заповнення, а потім ми викликали метод.format() на «рівному» покажчику місця заповнення.

Python3




print> (> 'We all are {}.'> .> format> (> 'equal'> ))>

Вихід

We all are equal. 

Вставка на основі індексу

У цьому коді фігурні дужки {} з індексами використовуються в рядку ‘{2} {1} {0}’, щоб вказати позиції, де будуть розміщені відповідні значення.

Python3




print> (> '{2} {1} {0}'> .> format> (> 'directions'> ,> > 'the'> ,> 'Read'> ))>

Вихід

Read the directions 

Вставте об’єкт, призначивши ключові слова

У цьому коді фігурні дужки {} з іменованими заповнювачами ({a}, {b}, {c}) використовуються в рядку 'a: {a}, b: {b}, c: {c}' для позначення позиції, де будуть розміщені відповідні іменовані аргументи.

Python3




print> (> 'a: {a}, b: {b}, c: {c}'> .> format> (a> => 1> ,> > b> => 'Two'> ,> > c> => 12.3> ))>

Вихід

a: 1, b: Two, c: 12.3 

Повторне використання вставлених об’єктів

У цьому коді фігурні дужки {} з іменованими заповнювачами ({p}) використовуються в рядку «Перший {p} був у порядку, але {p} {p} був жорстким.» для позначення позицій, де відповідні іменовані буде розміщено аргумент p.

Python3




print> (> > 'The first {p} was alright, but the {p} {p} was tough.'> .> format> (p> => 'second'> ))>

Вихід

The first second was alright, but the second second was tough. 

Точність з плаваючою точністю за допомогою методу.format().

Синтаксис: {[index]:[width][.precision][type]}

Тип можна використовувати з кодами формату:

  • «д» для цілих чисел
  • «f» для чисел з плаваючою комою
  • «б» для двійкових чисел
  • 'О' для вісімкових чисел
  • «х» для вісімкових шістнадцяткових чисел
  • 's' для рядка
  • 'Це є' для числа з плаваючою комою в експонентному форматі

приклад:

Обидва коди виконують форматування рядка. Перший рядок відформатовано за допомогою «%», а другий рядок за допомогою .format().

Python3




print> (> 'The valueof pi is: %1.5f'> %> 3.141592> )> print> (> 'The valueof pi is: {0:1.5f}'> .> format> (> 3.141592> ))>

Вихід

The valueof pi is: 3.14159 The valueof pi is: 3.14159 

Примітка: Щоб дізнатися більше про str.format(), див функція format() у Python

3. Розуміння f-рядка Python

PEP 498 представив новий механізм форматування рядків, відомий як літеральна інтерполяція рядків або частіше як F-струни (через початковий символ f перед рядковим літералом). Ідея f-String у Python полягає в тому, щоб спростити інтерполяцію рядків.

Щоб створити f-рядок у Python, додайте до рядка букву f. Сам рядок можна відформатувати приблизно так само, як і ви вул. формат() . F-рядки забезпечують стислий і зручний спосіб вбудовування виразів Python у рядкові літерали для форматування.

Форматування рядків за допомогою F-Strings

У цьому коді f-рядок fМене звати {name}. використовується для інтерполяції значення змінної name у рядок.

Python3




name> => 'Ele'> print> (f> 'My name is {name}.'> )>

Вихід

My name is Ele. 

Цей новий синтаксис форматування дуже потужний і простий. Ви також можете вставляти довільні вирази Python і навіть виконувати в ньому арифметичні операції.

Арифметичні операції з використанням F-рядків

У цьому коді f-рядок f Він сказав, що його вік {2 * (a + b)}. використовується для інтерполяції результату виразу 2 * (a + b) у рядок.

Python3




a> => 5> b> => 10> print> (f> 'He said his age is {2 * (a + b)}.'> )>

Вихід

He said his age is 30. 

Ми також можемо використовувати лямбда вирази в f-рядок форматування.

Лямбда-вирази з використанням F-рядків

У цьому коді анонімна лямбда-функція визначається за допомогою лямбда x: x*2. Ця лямбда-функція приймає аргумент x і повертає його подвійне значення.

Python3




print> (f> 'He said his age is {(lambda x: x*2)(3)}'> )>

Вихід

He said his age is 6 

Точність Float у методі f-String

У цьому коді форматування f-рядка використовується для інтерполяції значення змінної num у рядок.

  Syntax  : {value:{width}.{precision}} 

Python3




num> => 3.14159> print> (f> 'The valueof pi is: {num:{1}.{5}}'> )>

Вихід

The valueof pi is: 3.1416 

Примітка: Щоб дізнатися більше про f-рядки, див f-рядки в Python

4. Python String Template Class

У модулі String Template Class дозволяє створити спрощений синтаксис для специфікації виводу. Формат використовує імена заповнювачів, утворені $ з дійсним Python ідентифікатори (алфавітно-цифрові символи та підкреслення). Якщо заповнювач оточити фігурними дужками, то після нього буде більше буквено-цифрових літер без проміжних пробілів. Запис $$ створює один екранований $:

Форматування рядка Python за допомогою шаблонного класу

Цей код імпортує клас шаблону з модуля string. Клас Template дозволяє нам створити рядок шаблону з заповнювачами, які можна замінити фактичними значеннями. Тут ми замінюємо значення n1 і n2 замість n3 і n4 у рядку n.

Python3




from> string> import> Template> n1> => 'Hello'> n2> => 'techcodeview.com'> n> => Template(> '$n3 ! This is $n4.'> )> # and pass the parameters into the> # template string.> print> (n.substitute(n3> => n1, n4> => n2))>

Вихід

Hello ! This is techcodeview.com. 

Примітка: Щоб дізнатися більше про клас String Template, див Клас шаблону рядка в Python

5. Як відформатувати рядок за допомогою методу center().

Метод center() — це вбудований метод у класі str Python, який повертає новий рядок, розміщений по центру в рядку заданої ширини.

Форматування рядка за допомогою методу center().

Цей код повертає новий рядок з пробілами зліва та справа.

Python3




string> => 'GeeksForGeeks!'> width> => 30> centered_string> => string.center(width)> print> (centered_string)>

Вихід

 GeeksForGeeks! 

Рядок формату Python: % проти .format проти літералу f-рядка

f-струни швидше і краще, ніж обидва %-форматування і str.format() . Вирази f-рядків обчислюються під час виконання, і ми також можемо вбудовувати вирази всередину f-рядка, використовуючи дуже простий і легкий синтаксис.

Вирази в фігурних дужках обчислюються під час виконання, а потім з’єднуються з рядковою частиною f-рядка, а потім повертається останній рядок.

Примітка: Використовуйте рядок шаблону, якщо рядок є рядком, наданим користувачем. Інакше використовуйте f-Strings, якщо ви використовуєте Python 3.6+, і. format(), якщо це не так.

Ми розглянули всі 5 способів форматування рядків у Python. Є багато варіантів використання та прикладів для кожного методу. Ми також порівняли ці методи, щоб визначити, який з них найбільш ефективний для використання в реальних проектах.

Схожі читання:

  • Форматування рядків у Python
  • Як використовувати засоби форматування рядків у Python
  • Як відформатувати рядок за допомогою словника в Python


Кращі Статті

Категорія