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'

 


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