파이썬은 여러가지 자료형을 지원한다. 숫자, 리스트, 튜플 딕셔너리, 집합 등등 다양한 자료형을 기본적으로 지원한다. 다른 언어에 비해서 다루는 법도 간단하다고 생각이 든다. 이번 포스팅에서는 문자열 자료형을 다루는 법에 대해서 포스팅 해 볼 것이다.
문자열 선언
문자열은 한 개의 변수 안에 여러개의 글자를 넣는 것이다.
위에서는 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 문자열을 인식할 수 있다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬과 Firebase 연동하기 (2) | 2020.07.23 |
---|---|
파이썬으로 일정한 시간마다 동작 수행하기 (0) | 2020.07.10 |
파이썬 개발환경 설정하기 (2) | 2020.06.29 |
파이썬 버전 변경하는 방법 (0) | 2020.05.09 |
파이썬 ModuleNotFoundError 해결하기 (0) | 2020.03.22 |