Python에서 동등한 문자열 작성기

Manav Narula 2023년1월30일
  1. join()함수 사용
  2. 문자열 연결 방법 사용
  3. StringIO모듈 사용
Python에서 동등한 문자열 작성기

문자열은 문자 모음이며 변경할 수없는 개체입니다. 이미 존재하는 블록을 변경하는 대신 문자열의 모든 변경에 대해 새 메모리 블록을 지정해야합니다.

C# 프로그래밍의StringBuilder클래스는 가변 문자열 객체를 생성하고 동적 메모리 할당을 허용합니다. 파이썬에는 그러한 calss가 없지만 문자열 연결을 사용하여이를 달성하고 길고 효율적인 문자열 객체를 만들 수 있습니다.

이것의 기본 아이디어는 문자열 목록을 가져 와서 큰 문자열을 만들기 위해 결합하는 것입니다.

join()함수 사용

목록에서 문자열을 결합하려면join()함수를 사용할 수 있습니다. join()메소드는 반복 가능한 객체의 모든 요소를 ​​결합한 후 문자열을 반환합니다. 다음 코드 스 니펫이이를 설명합니다.

mylist = ["abcd" for i in range(5)]
mystring = "".join(mylist)
print(mystring)

출력:

abcdabcdabcdabcdabcd

목록에서 문자열을 연결하는 다른 많은 방법이 있지만join()함수가 가장 빠른 것으로 간주됩니다.

문자열 연결 방법 사용

for루프와+연산자를 사용하여 목록에서 문자열을 쉽게 연결할 수 있습니다. 다음 예는 방법을 보여줍니다.

mylist = ["abcd" for i in range(5)]
mystring = ""
for i in range(len(mylist)):
    mystring += mylist[i]
print(mystring)

출력:

abcdabcdabcdabcdabcd

StringIO모듈 사용

StringIO모듈을 사용하여 메모리 버퍼에서 문자열을 읽고 쓸 수 있습니다. StringIO객체를 만들고 목록을 반복 한 후이 객체에 씁니다. getvalue()메소드를 사용하여 필요한 문자열을 인쇄 할 수 있습니다. 예를 들면

file_str = StringIO()
for i in range(len(mylist)):
    file_str.write(mylist[i])
print(file_str.getvalue())

출력:

abcdabcdabcdabcdabcd

StringIO모듈의 함수를 사용하여 문자열을 추가 할 수있는 자체 클래스를 만들 수도 있습니다. 예를 들면.

from io import StringIO


class StringBuilder:
    _file_str = None

    def __init__(self):
        self._file_str = StringIO()

    def Append(self, str):
        self._file_str.write(str)

    def __str__(self):
        return self._file_str.getvalue()


sb = StringBuilder()

sb.Append("Hello ")
sb.Append("World")

print(sb)

출력:

Hello World
작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python String