Python 문자열 연결

문자열 연결은 프로그래밍에서 매우 일반적인 작업입니다. 파이썬 문자열 연결은 여러 가지 방법을 사용하여 수행할 수 있습니다. 이 튜토리얼은 파이썬 프로그램에서 문자열을 연결하는 다양한 방법을 탐색하는 것을 목표로 합니다.

파이썬 문자열 연결

다음과 같은 방법을 사용하여 문자열 연결을 수행할 수 있습니다:

  • + 연산자 사용
  • join() 메소드 사용
  • % 연산자 사용
  • format() 함수 사용
  • f-string (리터럴 문자열 보간) 사용

+ 연산자를 사용한 문자열 연결

이것은 문자열 연결의 가장 간단한 방법입니다. 간단한 예제를 살펴보겠습니다.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'

s4 = s1 + s2 + s3

print(s4)

출력: ApplePieSauce 사용자 입력에서 두 개의 문자열을 가져와 연결하는 다른 예제를 살펴보겠습니다.

s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')

print('Concatenated String =', s1 + s2)

출력:

Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld

문자열 연결에 + 연산자를 사용하는 것은 매우 간단합니다. 그러나 인수는 반드시 문자열이어야 합니다.

>>>'Hello' + 4
Traceback (most recent call last):
  File "<input>", line 1, in 
TypeError: can only concatenate str (not "int") to str

우리는 객체의 문자열 표현을 얻기 위해 str() 함수를 사용할 수 있습니다. 문자열을 정수나 다른 객체에 연결하는 방법을 살펴보겠습니다.

print('Hello' + str(4))


class Data:
    id = 0

    def __init__(self, i):
        self.id = i

    def __str__(self):
        return 'Data[' + str(self.id) + ']'


print('Hello ' + str(Data(10)))

출력:

Hello4
Hello Data[10]

+ 연산자의 가장 큰 문제는 문자열 사이에 구분자나 분리 기호를 추가할 수 없다는 것입니다. 예를 들어, 공백 구분자로 “Hello”와 “World”를 연결해야 한다면, "Hello" + " " + "World"와 같이 작성해야 합니다.

join() 함수를 사용한 문자열 연결

문자열에 구분자를 사용하여 문자열을 연결하기 위해 join() 함수를 사용할 수 있습니다. 문자열의 순서가 있는 경우, 예를 들어 리스트문자열의 튜플일 때 유용합니다. 구분자를 원하지 않는다면, 빈 문자열과 함께 join() 함수를 사용하십시오.

s1 = 'Hello'
s2 = 'World'

print('Concatenated String using join() =', "".join([s1, s2]))

print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))

출력:

Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World

% 연산자를 사용한 문자열 연결

우리는 % 연산자를 문자열 형식 지정에 사용할 수 있으며, 문자열 연결에도 사용할 수 있습니다. 이는 문자열을 연결하고 간단한 형식 지정을 수행할 때 유용합니다.

s1 = 'Hello'
s2 = 'World'

s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)

s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)

출력:

String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

format() 함수를 사용한 문자열 연결

우리는 문자열 연결 및 형식 지정에 문자열 format() 함수를 사용할 수 있습니다.

s1 = 'Hello'
s2 = 'World'

s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)

s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)

출력:

String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World

Python 문자열 format() 함수는 매우 강력하지만, 단순히 문자열을 연결하는 데 사용하는 것은 적절하지 않습니다.

f-string을 사용한 문자열 연결

Python 3.6+를 사용하는 경우 f-string을 사용하여 문자열을 연결할 수도 있습니다. 이는 문자열 형식 지정의 새로운 방법으로, PEP 498 – Literal String Interpolation에서 소개되었습니다.

s1 = 'Hello'
s2 = 'World'

s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)

name = 'Pankaj'
age = 34
d = Data(10)

print(f'{name} age is {age} and d={d}')

출력:

String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]

Python f-string은 format() 함수와 비교하여 더 깨끗하고 작성하기 쉽습니다. 또한 객체 인수를 필드 대체로 사용할 때 str() 함수를 호출합니다.

결론

파이썬 문자열 형식화는 여러 가지 방법으로 수행할 수 있습니다. 요구 사항에 따라 사용하십시오. 문자열 시퀀스를 구분하여 연결해야 하는 경우 join() 함수를 사용하십시오. 연결과 함께 일부 형식 지정이 필요한 경우 format() 함수 또는 f-string을 사용하십시오. f-string은 Python 3.6 이상 버전에서 사용할 수 있습니다.

전체 파이썬 스크립트와 더 많은 파이썬 예제를 확인할 수 있습니다. GitHub 저장소에서.

Source:
https://www.digitalocean.com/community/tutorials/python-string-concatenation