Python. Клас str. Функції вирівнювання рядків

Клас str. Функції вирівнювання рядків


Зміст


1. Функція str.center(). Отримати рядок заданої ширини

Функція str.center() дозволяє отримати рядок заданої ширини, який центрується. Загальна форма функції наступна

str.center(width [, fillchar])

де

  • width – ширина рядка, який центрується. Значення width може бути і більше і менше за кількість символів у рядку. Для деякого рядка s, якщо width<=len(s), то рядок виводиться без символів-заповнювачів fillchar. Якщо для рядка s виконується умова width>len(s), то рядок доповнюється символами-заповнювачами fillchar зліва і справа таким чином, якби цей рядок розміщувався по центру;
  • fillchar – символ-заповнювач. За замовчуванням значення fillchar рівне ASCII символу пробіл.

Приклад.

# Функція str.center()
# Центрування рядка відносно заданої ширини

# 1.Виклик з одним параметром width

# випадок, коли width>len(s)
s1 = "Hello world!"
s2 = s1.center(30) # s2 = ' Hello world! '

# випадок, коли width<=len(s)
s2 = s1.center(5) # s2 = 'Hello world!'

# 2. Виклик з двома параметрами

# випадок, коли width>len(s)
s1 = 'abcdef'
s2 = s1.center(20, '+') # s2 = '+++++++abcdef+++++++'

# випадок, коли width<=len(s)
s2 = s1.center(4, '-') # s2 = 'abcdef'

 

2. Функція str.ljust(). Вирівнювання рядка вліво

Функція str.ljust() повертає рядок, вирівняний вліво відносно заданої ширини. Загальна форма використання функції наступна:

s2 = s1.ljust(width[, fillchar])

де

  • s1 – рядок, який служить оригіналом для створення нового рядка s2;
  • s2 – рядок-результат, який доповнюється справа символами fillchar у випадку, якщо виконується умова len(s1)<width. Якщо символ fillchar відсутній при виклику функції, то за замовчуванням використовується пробіл;
  • width – ширина вирівнювання. Якщо width>len(s1), то довжина рядка s2 стає рівна width;
  • fillchar – символ-заповнювач, який додається зліва до рядка s1 у випадку, якщо width>len(s1). За замовчуванням fillchar є символом пробіл.

Приклад.

# Функція str.ljust()

# Функція повертає рядок, вирівняний вліво відносно заданої ширини

# 1. Виклик функції з 1 параметром
s1 = '0123'
s2 = s1.ljust(10) # s2 = '0123 ' - доповнюється пробілами
s2 = s1.ljust(2) # s2 = '0123'
s2 = s1.ljust(6) # s2 = '0123 '

# 2. Виклик функції з 2 параметрами
s1 = 'abcdef'
s2 = s1.ljust(10, '+') # s2 = 'abcdef++++'
s2 = s1.ljust(3, '=') # s2 = 'abcdef'
#s2 = s1.ljust(3, '==') - помилка: символ заповнювач має бути один

 

3. Функція str.rjust(). Вирівнювання рядка вправо

Функція str.rjust() повертає рядок, вирівняний вправо відносно заданої ширини. Загальна форма використання функції наступна:

s2 = s1.rjust(width[, fillchar])

де

  • s1 – рядок, який використовується для створення нового рядка s2;
  • s2 – результуючий рядок, який доповнюється зліва символами fillchar у випадку, якщо виконується умова len(s1)<width. Якщо символ fillchar відсутній при виклику функції, тоді використовується пробіл за замовчуванням;
  • width – ширина вирівнювання. Якщо width>len(s1), то довжина рядка s2 стає рівна width;
  • fillchar – символ-заповнювач, який додається до рядка s1 у випадку, якщо width>len(s1). За замовчуванням fillchar є символом пробіл.

Приклад.

# Функція str.rjust()

# Функція повертає рядок, вирівняний вправо відносно заданої ширини

# 1. Виклик функції з 1 параметром
s1 = '0123'
s2 = s1.rjust(10) # s2 = ' 0123'
s2 = s1.rjust(2) # s2 = '0123'
s2 = s1.rjust(6) # s2 = ' 0123'

# 2. Виклик функції з 2 параметрами
s1 = 'abcdef'
s2 = s1.rjust(10, '+') # s2 = '++++abcdef'
s2 = s1.rjust(3, '=') # s2 = 'abcdef'
#s2 = s1.ljust(3, '==') - помилка: символ заповнювач має бути один


 

4. Функція str.zfill(). Заповнити рядок нулями заданої ширини

Функція str.zfill() заповнює рядок символом ‘0’ згідно з заданою шириною. Загальна форма оголошення функції наступна:

s2 = s1.zfill(width)

де

  • s1 – заданий рядок;
  • s2 – результуючий рядок;
  • width – число, що визначає ширину заповнення.

Приклад.

# Функція str.zfill()

# 1. Використання без символів '-' або '+'
s1 = '2455'
s2 = s1.zfill(8) # s2 = '00002455'

s1 = 'abcd'
s2 = s1.zfill(10) # s2 = '000000abcd'

# 2. Використання з символом '-'
s1 = '-abcd'
s2 = str.zfill(s1, 10) # s2 = '-00000abcd'

# 3. Використання з символом '+'
s2 = str.zfill('+abcd', 10) # s2 = '+00000abcd'

# 4. Випадок, коли width<=len(s)
s1 = '+-=abcdef'
width = 5 # ширина виведення
s2 = s1.zfill(width) # s2 = '+-=abcdef'

 


Зв’язані теми