프로그래밍 언어/Python

파이썬 간단한 문자열 처리 및 f-string 포맷팅

트리맨스 2020. 5. 27. 23:54
반응형

 

파이썬은 여러가지 자료형을 지원한다. 숫자, 리스트, 튜플 딕셔너리, 집합 등등 다양한 자료형을 기본적으로 지원한다. 다른 언어에 비해서 다루는 법도 간단하다고 생각이 든다. 이번 포스팅에서는 문자열 자료형을 다루는 법에 대해서 포스팅 해 볼 것이다.

 

문자열 선언


문자열은 한 개의 변수 안에 여러개의 글자를 넣는 것이다. 

 

 

위에서는 apple 이라는 문자열을 a라는 변수에 대입한 것이다. 문자열은 4가지 방식으로 선언이 가능하다. 위에서 선언한 형태는 모두 똑같다. 문자열을 선언하는 것은 모두 같은데, 방법은 모두 다르다. 그 이유는 무엇일까? 문자열의 표현 차이다. 예를 들어 문자열 안에 큰따옴표나 작은따옴표를 넣고 싶을 경우가 있을 것이다. 그러할 때 이러한 기능을 사용한다.

 

 

위의 형태로 선언하면, a 문자열 안에 작은따옴표를 넣을 수 있다. 반대의 경우도 똑같이 적용할 수 있다.

 

 

문자열 연산


문자열을 더하거나 빼고 원하는 값만 골라서 사용하고 싶을 때가 있을 것이다. 제일 간단한 문자열 더하기와 곱하기에 대해서 알아보자. 문자열 더하기는 말 그대로 2개의 문자열을 하나로 잇고 싶을 때 쓰고, 문자열 곱하기는 특정 문자열을 n번 반복해서 출력한다.

 

 

위 코드의 실행 결과는 pineapplepineapple 이다. 문자열 곱하기는 실제 곱한다는 개념보다는, 2를 곱했을 경우에는 2번 반복해서 출력한다는 느낌을 준다.

 

 

문자열과 배열


파이썬에서는 문자열을 배열로 보기도 한다. 맨 앞의 문자를 0번으로 해서 배열의 느낌으로 접근할 수도 있다. 또한 이를 이용하여 원하는 위치의 문자열을 불러올 수 있다. 예시를 보면서 알아보자.

 

 

위 예제의 결과는 n l in pine 이다. 왜 그러한지 설명을 통해서 알아보자.

 

1번은 문자열 c의 2번 문자를 출력하는 것이다. 여기서 주의해야 할 것은, 맨 처음에 나오는 문자는 0번이다. 즉, 2번 문자는 i가 아니라 n이 되는 것이다.

 

2번은 문자열의 맨 뒤에서 2번째 문자를 출력하는 것이다. 맨 뒤에서 2번째는 l이다.

 

3번은 문자열의 1번부터 2번까지의 문자들을 추출하는 것이다. [a:b] 일 경우에 a는 포함하나, b는 포함하지 않는다. 그래서 1번, 2번 문자가 출력되는 것이다.

 

4번은 맨 앞에서부터 3번 까지의 문자들을 추출하는 것이다. 이와 같은 방법으로 맨 뒤에서도 추출이 가능하다.

 

 

문자열 포맷팅


문자열의 포맷팅도 간단하다. 예시를 통해서 알아보자.

 

 

결과는 "1 개의 사과와 2 개의 배" 가 나온다. C언어랑 유사한 문자열 포맷 코드를 쓴다. 그리고 출력할 문자열과 변수 사이의 구분은 % 로 해준다.

 

%d 정수
%f 부동소수
%o 8진수
%x 16진수
%s 문자열

 

 

이것들이 문자열의 기본이다. 이를 응용한 함수들 또한 알아두면 매우 좋다. 문자열 관련 함수로 인해 문자열을 다루기가 더욱 쉬워진다.

 

함수 기능 예제
count() 문자열 세기 k.count('a')    return : int
find(), index() 위치 알려주기 k.find('a')  return : int
upper(), lower() 대문자, 소문자로 변환하기 k.upper()
strip(), lstrip(), rstrip() 양쪽 , 왼쪽, 오른쪽 공백 지우기 k.strip()

 

 

f 문자열 (f-string) 알아보기


16년 12월 23일 파이썬이 3.6으로 업데이트 되었다. 여기서는 기존의 문자열 처리하고는 살짝 다른 f-string 을 지원한다. 이것의 가장 큰 특징은, 문자열 포맷팅의 가독성이 훨씬 좋게 바뀌었다는 것이다. 이것도 예시를 통해서 알아보자.

 

 

위 코드의 출력 결과는 "1 개의 사과와 2 개의 배  \n 1 개의 사과와 2 개의 배" 가 나온다. 가독성 부분에서 기존의 문자열 포맷팅보다 훨씬 좋다. 또한 이러한 원리로 딕셔너리의 형태도 출력이 가능하다. 단 문자열을 작성할 때 맨 앞에 f 를 붙여줘야 f 문자열을 인식할 수 있다.

 

반응형