티스토리 뷰

프로그래밍을 하다 보면 문자열 중간에 매번 다른 값을 삽입해야 하는 경우가 있다. 이런 처리를 포맷팅 처리라고 한다. python의 경우 어떻게 처리 할까?

 

▶ 일반적인 포맷팅

# 숫자를 삽입 할 경우
>>> 'bangno is %d year old' % 10
'bangno is 10 year old'

# 문자를 삽입 할 경우
>>> 'bangno is %s year old' % 'ten'
'bangno is ten year old'

# 두가지 값을 동시 넣을 경우
>>> 'bangno is %d year old. bangno is %s year old' % (3, 'ten')
'bangno is 3 year old. bangno is ten year old'

위와 같이 숫자, 문자열 포맷을 활용해서 삽입이 가능하다. %의 포맷팅 가능한 포맷코드는 아래와 같다.

코드 설명
%s 문자열
%d 정수(Integer)
%c 문자
%f 소수점(float)
%o 8진수
%x 16진수
%% %를 문자로 표현가지 위해서 사용

코드를 보니 8진수, 16진수에 궁금증이 생겼다. 위와 동일하게 'bangno is 10 year old' 문장을 8진수, 16진수로 호출해 보면 어떻게 될까?

# 8진수
>>> 'bangno is %o year old' % 10
'bangno is 12 year old'

# 16진수
>>> 'bangno is %x year old' % 10
'bangno is a year old'

10이라는 숫자를 각각 8진수, 16진수에 맞게 표현한다.

 

▶ 소수점 포맷팅

프로그래밍을 하다보면 소수점 2자리까지만 보여주기. 같은 요구사항이 있는 경우가 있다. python의 경우 소수점 처리를 아래와 같이 한다.

>>> '%0.2f' % 1.236567
'1.24'

확인해 보면 소수점 2자리까만 보여주고 반올림처리까지 해준다.

 

▶ format 함수 사용하기

format 함수를 사용하면 동일한 인자값을 중복해서 사용할 필요 없이 변수처리로 해서 사용 가능하다.

# 일반적인 format 함수 사용
>>> 'bangno is {} year old. bangno is {} year old'.format(10, 'ten')
'bangno is 10 year old. bangno is ten year old'

# 인덱스처리로 format 함수 사용
>>> 'bangno is {0} year old. bangno is {1} year old'.format(10, 'ten')
'bangno is 10 year old. bangno is ten year old'

# 변수로 format 함수 사용
>>> 'bangno is {number} year old. bangno is {string} year old'.format(number = 10, string = 'ten')
'bangno is 10 year old. bangno is ten year old'

 

이상으로 python 문자열(String) 포맷팅 처리 방법을 마치겠다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함