[파이썬] 포맷 연산자
미음제
·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가 모두 같은
출력 결과를 갖는다.
'Developer > Python' 카테고리의 다른 글
[파이썬] 파이썬 map() 함수 (0) | 2021.08.09 |
---|---|
[파이썬] 파이썬 join() 함수 (0) | 2021.08.09 |
[파이썬] 파이썬 정렬, 다중 조건 정렬, 람다(lambda) (0) | 2021.07.20 |
[파이썬] 파일 열기, 파일 읽기, 파일 쓰기 (0) | 2021.04.01 |
[파이썬] 파이썬 Matplotlib를 이용한 그래프 만들기 (0) | 2021.03.11 |