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'

 


Связанные темы