파이썬 문자열 연결


문자열 연결은 프로그래밍에서 매우 일반적인 작업입니다. 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() 함수를 사용하십시오.

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 String format() 함수는 매우 강력합니다. 문자열 연결에만 사용하는 것은 적절하지 않습니다.

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

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() 함수를 호출합니다.

결론

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

GitHub 리포지토리에서 전체 Python 스크립트와 더 많은 Python 예제를 확인할 수 있습니다.