파이썬 문자열 다루기 (문자 연결, 나누기)

1. 문자열 연결

문자열을 연결하려면 ‘+’ 를 이용하여 연결합니다.

str1= 'Hello'
str2 = 'Python!'

str = str1 + ' ' + str2
print(str) #출력 : Hello Python!

str = str1, str2

print(str) #출력 : {'Hello', 'Python!'}
print(str1,  str2) #출력 : Hello Python!

print('=' + 5) #출력 : =====
print('*' * 10) #출력 : **********

위 예시처럼, print() 문에서는 변수를 콤마(,)로 나눠 나열하면 문자열이 연결되어 출력됩니다. 다소 특이한(?) 연결도 있는데 ‘*’ 로 문자열을 곱하여 연결할 수 있습니다. (‘=’ * 5)는 ‘=’가 다섯번 연결되어 ‘=====’로 출력됩니다.

문자열 연결시 문자열 포맷을 이용할 수 있다.

코드 설명
%s문자
%c문자 (1개)
%d숫자
%f소수
%o8진수 또는 긴 정수
%x16진수 또는 긴 정수
%X16진수(대문자)
%%퍼센트(%)
no = 1
str = 'No : %d' %2
print(str) #결과 : No : 2

str = 'No : %d' %no
print(str) #결과 : No : 1

percent = 50
print('이 상품은 %d%% 할인상품입니다.' %percent) #결과 : 이 상품은 50% 할인상품입니다.

'''
format 함수를 이용하여 문자열을 결합할 수 있습니다
문자열에 {숫자}, {문자}의 파라미터를 지정해서 사용합니다.
'''
name1 = 'jane'
name2 = 'james'
str = 'My name is {0}, your name is {1}'
print(str.format(name1, name2)) # 결과 : My name is jane, your name is james

str = 'My name is {name1}, Your name is {name2}'
print(str.format(name1='a', name2='b')) # 결과 : My name is a, your name is b

'''
리스트 변수의 값을 사용할 수도 있습니다.
문자열에는 '%(문자)d', '%(숫자)d' 형식의 포맷을 사용하고
문자열 끝에 '% 리스트 변수명'을 지정해야합니다.
'''
datalist = {
    'name' : 'Tom',
    'age' : 15,
}

str = "이름 : %(name)s, 나이 : %(age)d"
print(str) # 이름 : %(name)s, 나이 : %(age)d 

str = "이름 : %(name)s, 나이 : %(age)d" % datalist
print(str) #결과 : 이름 : Tom, 나이 : 15

2. 문자열 나누기

문자는 인덱스를 가지고 있습니다. 예를 들어 str = ‘Hello’라고 선언했다면 아래와 같은 인덱스를 가지고 있으며 문자열을 나누려면 인덱스로 나눌 수가 있습니다.

str[0] = ‘H’
str[1] = ‘e’
str[2] = ‘l’
str[3] = ‘l’
str[4] = ‘o’

문자열을 잘라내려면 ‘변수[시작인덱스:끝인덱스]’로 잘라낼 수 있습니다. 시작인덱스는 포함하고 끝인덱스는 포함하지 않습니다. 끝인덱스를 포함하려면 ‘끝인덱스+1’을 해야합니다.

str = 'Hello'

print(str[0]) #출력 : H
print(str[0] + str[1] + str[2] + str[3] + str[4]) #출력 : Hello

print(str[0:1]) #출력 : H
print(str[0:]) #출력 : Hello
print(str[:]) #출력 : Hello

print(str[:4]) #출력 : Hell
print(str[0:4]) #출력 : Hell
print(str[0:5]) #출력 : Hello

이런 식으로 문자열을 잘라내는 것을 슬라이싱(slicing)한다 또는 스플릿(split) 한다고 하는데, 앞으로 자주 사용하게 될 것입니다.

Leave a Comment