[파이썬] 포맷 연산자

미음제

·

2021. 4. 1. 19:30

파이썬에서

포맷 연산자는

포맷을 가진 문자열을 만들어주는

연산자이다.

 

% 와 사용할 수 있는 변환 지시어

Fortmat Symbol Conversion(변환)
%c character
%s string conversion via str() prior to formating
%i signed decimal integer
%d signed decimal integer
%u unsigned decimal integer
%o octal integer
%x hexadeciaml integer
%X hexadeciaml integer
%e exponential notation('e')
%E exponential notation('E')
%f floating point real number
%g the shorter of %f and %e
%G the shorter of %f and %E

 

 

% 연산자 기호는

좌우에 숫자가 있는 경우

나머지를 구하는 연산자로 사용된다.

 

% 연산자의

왼쪽에 문자열을 사용한 경우

% 연산자는 포맷 연산자로 사용된다.

 

camels = 12
t = '%d' % camels

print(t)
print(type(t))

 

%d는 10진수의 정수를 나타내고

camels에 저장된 12를 가져와

10진수로 나타내게 한다.

 

data = 'This flower grew %g %s in %d years' % (2.3, 'cm', 4)
print(data)

문자열에서 3개의 포맷 코드가 있고

%(포맷 연산자) 우측에

튜플로 3개의 데이터가 담겨있다.

 

%g에는 2.3이라는 실수를

%s에는 'cm'라는 문자열을

%d에는 4의 정수를 담아

data의 문자열을 완성시킨다.

 


십진법의 정수를 나타내는

%d는 자릿수를 지정해 사용할 수 있다.

print('%d' % 3)
print('%5d' % 3)
print('%05d' % 3)

 

첫 번째 출력은

3이라는 정수를 단순 출력한 형태이다.

 

두 번째 출력은

5만큼의 공간을 만들고

그 안에 3을 담아 출력한 모습이다.

 

세 번째 출력은

두 번째와 마찬가지로 5만큼의

공간을 확보하고

빈 공간을 0으로 채운 모습이다.

 

 

 

%f는

소수점 이하의 자릿수도

지정해 사용할 수 있다.

 

print('%05.2f' % 3.141592)
print('%5.3f' % 3.141592)
print('%06.3f' % 3.141592)

첫 번째 출력은

5만큼의 공간을 확보하고

소수점 이하 2자리까지 출력하며

빈 공간은 0으로 채워 출력하는 것이다.

 

두 번째 출력은

5만큼의 공간을 확보하고

소수점 이하 3자리까지 출력하는 것이다.

 

마지막 세 번째도

위 두경 우와 같은 방식이다.

6만큼의 공간을 확보하고

소수점 이하 3자리를 출력하며

빈 공간을 0으로 채우는 것이다.

 


포맷을 갖춘 문자열을

만드는 포맷 연산자와 같은

포맷 함수

 

str1 = 'Today is {month} / {days}'.format(month='April', days=1)
str2 = 'Today is {month} / {days}'.format(days=1, month='April')
print(str1, end=', ')
print(str2)

str3 = 'Today is {0} / {1}'.format('April', 1)
print(str3)

str1에서

대괄호 { }안에 변수명을 정해주고

format함수를 통해

값을 지정해준다.

 

대괄호 안에 지정할 변수가 많을 때

변수를 명시적으로 설정해

가독성을 높일 수 있는 방법이다.

 

format() 메소드 안에 값을 입력할 때

변수명으로 입력하기에

순서는 상관없다.

따라서

str2에서 str1과 같은 결과를 얻을 수 있다.

 

str3은 또 다른 format함수를

사용하는 방법이다.

대괄호 { }에 문자열 

입력하는 순서대로 데이터를 넣어주면

지정한 포맷대로 문자열을 만들어주는 방법이다.

 

따라서

str1, str2, str3가 모두 같은

출력 결과를 갖는다.

 

 

반응형