logo

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

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

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



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

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

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

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

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

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



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

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

Python3

math pow java






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




k алгоритм найближчого сусіда

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




10 1 мільйон

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