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