일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 페이스북광고
- 파이썬프로그래밍
- 파이썬내장함수
- 파킹통장
- 연말정산
- 신용카드추천
- 국민내일배움카드
- 유튜브
- GA가이드
- 파이썬문자열
- 유튜브광고
- 파이썬
- 구글애널리틱스강의
- 파킹통장추천
- GA설치
- 메이크샵
- 구글애널리틱스
- GA4
- 구글ads
- 파이썬정규표현식
- 파이썬함수
- 카페24
- GA공부
- GA
- 구글애널리틱스가이드
- 파이썬공부
- 구글애널리틱스공부
- 마케팅
- 책추천
- 구글애널리틱스4
- Today
- Total
정리왕
파이썬 문자열4 (문자열 포맷팅1) 본문
문자열에서 또 하나 알아야 할 것으로는 문자열 포맷팅(Formatting)이 있다.
이것을 공부하기 전에 다음과 같은 문자열을 출력하는 프로그램을 작성했다고 가정해 보자.
"현재 온도는 18도입니다."
시간이 지나서 20도가 되면 다음 문장을 출력한다.
"현재 온도는 20도입니다."
위 두 문자열은 모두 같은데 20이라는 숫자와 18이라는 숫자만 다르다.
이렇게 문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이 바로 문자열 포맷팅 기법이다.
쉽게 말해 문자열 포맷팅이란 문자열 안에 어떤 값을 삽입하는 방법이다.
다음 예를 직접 실행해 보면서 그 사용법을 알아보자.
1. 문자열 포맷팅 따라하기
1) 숫자 바로 대입
위 예제의 결과를 보면 알겠지만, 위 예제는 문자열 안에 정수 3을 삽입하는 방법을 보여 준다.
문자열 안에서 숫자를 넣고 싶은 자리에 %d문자를 넣어 주고, 삽입할 숫자 3은 가장 뒤에 있는 %문자 다음에 적었다.
여기에서 %d는 문자열 포맷 코드라고 부른다.
2) 문자열 바로 대입
문자열 안에 꼭 숫자만 넣으라는 법은 없다.
이번에는 숫자 대신 문자열을 넣어 보자.
위 예제에서 문자열 안에 또 다른 문자열을 넣기 위해 앞에서 사용한 문자열 포맷 코드를 %d가 아닌 %s를 사용했다.
숫자를 넣기 위해서는 %d를 사용해야 하고, 문자열을 넣기 위해서는 %s를 사용해야 한다.
문자열을 대입할 때는 앞에서 배운 것처럼 큰따옴표나 작은따옴표를 반드시 사용해야 한다.
3) 숫자 값을 나타내는 변수로 대입
1번처럼 숫자로 바로 대입하거나 위 예제처럼 숫자 값을 나타내는 변수를 대입하나 결과는 같다.
4) 2개 이상의 값 넣기
그렇다면 문자열 안에 1개가 아닌 여러 개의 값을 넣고 싶을 땐 어떻게 할까?
위 예문처럼 2개 이상의 값을 넣으려면 마지막 % 다음 괄호 안에 콤마(,)로 구분하여 각각의 값을 넣어주면 된다.
5) 문자열 포맷 코드
문자열 포맷팅 예제에서는 대입해 넣는 자료형으로 정수와 문자열을 사용했으나 이 외에도 다양한 것을 대입할 수 있다.
문자열 포맷 코드로는 다음과 같은 것이 있다.
%s | 문자열 (String) |
%c | 문자1개 (Character) |
%d | 정수 (Integer) |
%f | 부동 소수 (Floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 '%' 자체) |
여기에서 재미있는 것은 %s 포맷 코드인데, 이 코드는 어떤 형태의 값이든 변환해 넣을 수 있다.
무슨 말인지 예를 통해 확인해 보자.
3을 문자열 안에 넣을려면 %d를 사용하고, 3.234를 넣을려면 %f를 사용해야 한다.
하지만 %s를 사용하면 이런 것을 생각하지 않아도 된다.
왜냐하면 %s는 자동으로 %뒤에 있는 값을 문자열로 바꾸기 때문이다.
6) 포맷팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다.
위 예문은 결과값으로 당연히 "Error is 98%."가 출력될 것이라고 예상하겠지만,
파이썬은 값이 올바르지 않다는 값 오류(Value Error) 메시지를 보여 준다.
이유는 문자열 포맷 코드인 %d와 %가 같은 문자열 안에 존재하는 경우, %를 나타내려면 반드시 %%로 써야 하는 법칙이 있기 때문이다.
이 점은 꼭 기억해야 한다. 하지만 문자열 안에 %d 같은 포매팅 연산자가 없으면 %는 홀로 쓰여도 상관이 없다.
따라서 위 예를 제대로 실행하려면 다음과 같이 해야 한다.
2. 포맷팅 정렬과 공백 만들기, 소수점 표현하기
위에서 보았듯이, %d, %s 등의 포맷 코드는 문자열 안에 어떤 값을 삽입하기 위해 사용한다.
하지만 포맷 코드를 숫자와 함께 사용하면 더 유용하게 사용할 수 있다.
다음 예를 보고 따라 해 보자.
1) 정렬과 공백
hi가 오른쪽 정렬됨.
앞의 예문에서 %10s는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
h | i |
그렇다면 반대쪽인 정렬은 %-10s가 될 것이다. 확인 해 보자.
hi를 왼쪽으로 정렬하고 나머지는 공백으로 채웠음을 볼 수 있다.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
h | i | j | a | n | e |
2) 소수점 표현하기
3.42134234를 소수점 네 번째 자리까지만 나타내고 싶은 경우에는 위와 같이 사용한다.
즉 여기서 '.'의 의미는 소수점 포인트를 말하고 그 뒤의 숫자 4는 소수점 뒤에 나올 숫자의 개수를 말한다.
다음 예를 살펴보자.
위 예는 숫자 3.42134234를 소수점 네 번째 자리까지만 표시하고 전체 길이가 10개인 문자열 공간에서 오른쪽으로 정렬하는 예를 보여 준다.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
3 | . | 4 | 2 | 1 | 3 |
'6.개발 > 파이썬 공부하기' 카테고리의 다른 글
파이썬 문자열6 (f문자열 포맷팅) (0) | 2020.11.29 |
---|---|
파이썬 문자열5 (format 함수를 사용한 포맷팅2) (0) | 2020.11.29 |
파이썬 문자열3 (문자열 인덱싱과 슬라이싱) (0) | 2020.11.29 |
파이썬 문자열2 (문자열 연산) (0) | 2020.11.29 |
파이썬 문자열1 (문자열이란?) 파이썬 이스케이프 (0) | 2020.11.29 |