StringBuilder в Python — что это и примеры

Строковый объект в Python является неизменяемым, что означает, что каждый раз, когда строковое значение присваивается переменной, в памяти создается новый объект для описания нового значения. Объекты StringBuilder аналогичны объектам String, за исключением того, что их можно изменять. Класс StringBuilder в Java также используется для создания изменяемых строковых объектов.

StringBuilder в Python

Есть ли какой-нибудь строковый класс в Python? Нет, в Python нет встроенного построителя строк. Следовательно, нет однозначной корреляции. Однако этому есть логическое объяснение. Создание длинных строк в Python иногда может привести к длительному выполнению кода.

Хотя в последних версиях Python есть способы построения строк. Один из распространенных способов создания больших строк из кусочков состоит в том, чтобы увеличить список строк и соединить его, когда вы закончите. Это часто используемая идиома Python. Чтобы построить строки, объединяющие данные с форматированием, вы должны выполнить форматирование отдельно.

Чтобы создать пользовательский построитель строк в Python, используйте один из следующих способов:

  1. Использование метода string.join().
  2. Применение конкатенации строк.
  3. Использование модуля StringIO.

Использование метода string.join()

string.join() — это встроенный метод Python, который возвращает строку, объединенную с элементами итерируемого объекта. Например, мы можем использовать функцию join() для соединения строк из списка.

Пример

Выход:

Вы можете видеть, что он печатает Loki семь раз.

Использование конкатенации строк

Чтобы объединить строки из списка, используйте оператор объединения(+) и цикл for.

Пример

Выход:

С помощью модуля StringIO

StringIO — это встроенный модуль Python, который может читать и записывать строки в буфер памяти. Во-первых, мы создаем объект StringIO и пишем его после цикла по списку. Затем мы можем вывести нужную строку, используя метод getvalue().

Пример

Для работы с модулем StringIO вам необходимо импортировать его в заголовок вашего файла.

Теперь создайте класс StringBuilder и определите три метода этого класса.

Метод Add() добавляет строки к этой функции, а метод _str_() возвращает объединенные строки.

Последним шагом является вызов этих функций путем создания объекта класса.

См. следующий полный код.

Выход:

И мы получили конкатенацию строк, как и ожидали.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python