본문 바로가기

Programming/Python 업무 자동화

1. 변수(1) - 파이썬 기본 자료형 / 문자열 [2]

 

○ 문자열에서의 연산

 

연산자 설명 예시
+ 문자열 붙이기 a = 'Hello'
b = 'World' 
print(a + ' ' +b)
> Hello World
* 문자열 반복하기 a = '-' *10
print(a)
> ----------

 

 

 

 

○ 문자열에서의 인덱싱, 슬라이싱

 

파이썬에서도 문자열은 배열과 비슷한 속성을 갖습니다. 다음과 같이 문자열의 특정 문자 인덱스를 지정하거나 범위를 선택하여 지정(슬라이싱)할 수 있습니다. 

 

a = 'Hello World'

print(a[2])
l
print(a[0:3])
Hel

print(a[0:])      
Hello World

print(a[:3])      
Hel

 

 

슬라이싱에서 주의할 점은, 시작 인덱스 넘버는 포함하지만 종료 인덱스 넘버는 포함하지 않는다는 점입니다.

 

 

 

 

○ 문자열의 내장 함수

 

함수명 설명 예시 result
count 특정 문자의 개수를 세서 반환 a = 'Hello World'
result = a.count('l')
result = a.count('He')
3
1
find 특정 문자의 위치를 반환
(가장 처음 만나는)
a = 'Hello World'
result = a.find('l')
2
index 특정 문자의 위치를 반환 a = 'Hello World'
result = a.index('l')
2
join 문자열 자기 자신을 파라미터로 전달된 문자열 사이 사이에 삽입 a = '+'
result = a.join('123')
result = a.join(['123', '456'])
1+2+3
123+456

 

 

find와 index의 가장 큰 차이는 에러의 처리 방식 입니다. find의 경우 없는 문자를 입력하면 -1을 리턴합니다. 하지만 index는 찾는 문자가 없을 경우에 에러를 발생시켜 처리가 중단됩니다. 만일 find를 사용하면, 분기를 통해 -1이 출력되었을 때의 대응이 가능합니다.

 

 

함수명 설명 예시 result
upper 대문자로 값 반환 a = 'Hello World'
result1 = a.upper()
HELLO WORLD
lower 소문자로 값 반환 a = 'Hello World'
result2 = a.lower()
hello world
replace 문자열을 치환(대체)한 결과 반환 a = 'Hello World'
result3 = a.replace('Hello', 'Bye')
Bye World
split 문자열을 파라미터 기준으로 나눈
결과 반환
a = 'Hello World'
result4 = a.split(' ')
['Hello', 'World']

 

참고로 replace는 빈 문자로 치환해 문자를 삭제하는 방식으로도 많이 사용됩니다. 

 

 

함수명 설명 예시 result
lstrip 왼쪽 공백 제거한 값 반환 a = '   Hello World   '
result1 = a.lstrip();
Hello World   
rstrip 오른쪽 공백 제거한 값 반환 a = '   Hello World   '
result2 = a.rstrip()
   Hello World
strip 양쪽 공백 제거한 값 반환 a = '   Hello World   '
result3 = a.strip()
Hello World