파이썬 실습창을 열 수 있습니다.실습창 열기
힘이 든 만큼 넓은 세상을 볼 수 있습니다.
1. 스트링 포맷
스트링 포맷(str format )은 보기 좋은 출력을 위하여 사용하는 출력 방법입니다.
필요에 따라 선택하여 사용할 수 있습니다.
권장 방식은 f-포맷입니다. 파이썬 최신 버전에서 사용할 수 있습니다.
다음 표의 '예'를 실습하세요.
번호 | 포맷 이름 | 예와 설명 |
1 | 기본-포맷 | w='pi=3.14 그래서 3월 14일이 파이 데이' print(w) 기본적으로 사용하는 방법입니다. <출력> pi=3.14 그래서 3월 14일이 파이 데이 |
2 | %-포맷 | name, value='pi', 3.14159 m, d=3, 14 w1='%s=%0.2f 그래서 %d월 %d일이 파이데이' %(name,value,m,d) print(w1) 기본-포맷은 실행 중에 내용을 바꾸기 어렵습니다. 그래서 실행 중에 내용을 바꾸기 쉽도록 개반 된 방법이 %-포맷입니다. %-포맷은 오른쪽의 %다음에 있는 변수를 왼쪽의 %자리에 순서대로 대응 시킵니다. 단, 문자(str)는 %s, 실수(float)는 %f, 정수(int)는 %d 를 사용합니다. %다음에 숫자를 쓸 수 있습니다. %5s는 5칸에 문자를 쓰고, %0.2f는 소수이하 2자리, %3d는 정수 3자리 등이 예입니다. <위 프로그램의 출력은 기본-포맷과 같습니다> pi=3.14 그래서 3월 14일이 파이 데이 또한, I'm sorry. 와 같이 따옴표 등을 출력할 수 있도록 \', \" , \n(줄바꿈), \t(띄어쓰기)도 생각해 내었습니다. 위의 w1을 바꾸어 실행했습니다. w1='%s=%0.2f \n그래서 %d월 %d일이 \'파이데이\'' %(name,value,m,d) <실행 결과입니다> pi=3.14 그래서 3월 14일이 '파이 데이' 조금의 문제도 있습니다. \를 출력하려면 \\와 같이 2번 쓰야합니다. \(백슬래쉬)와 함께 사용하는 것을 탈출 코드(escape code)라 합니다. <아래의 표 참고> |
3 | 고급-포맷 | w1 = '{}={:0.2f} 그래서 {}월 {}일이 파이데이'.format(name,value,m,d) 위 프로그램의 w1을 바꾸었습니다. 출력은 같습니다. <출력> pi=3.14 그래서 3월 14일이 파이 데이 % 대신에 {}를 사용합니다. 많은 좋은 점 중의 한 가지는 정렬(justify)입니다. a='{0:^20}'.format('top') print(a) # 20칸을 준비하여 가운데 top를 출력합니다. 앞의 0은 format에 있는 변수의 인덱스입니다. {을 출력하려면 {{와 같이 2번 써야합니다. |
4 | f-포맷 | format()의 괄호속에 있던 변수를 {}속에 바로 쓰면 알기 쉽습니다. name, value='pi', 3.14159 m, d=3, 14 w=f'{name:>3s}={value:0.2f} \n그래서 {m}월 {d}일이 \'파이 데이\'' print(w) # 따옴표 앞에 f 를 붙입니다. # 정렬(justify)은 <(left), ^(mid), >(right) 사용합니다. # {name:>3s}는 name을 3칸을 준비하여 오른쪽 정렬로 출력합니다. |
5 | r-포맷 | 탈출 문자(escape code)의 기능을 사용하지 않을 때 쓰는 포맷입니다. a='I\'m \n sorry.' print(a) b=r'I\'m \n sorry.' print(b) <a출력> I'm sorry. <b 출력> I\'m \n sorry. # 따옴표 왼쪽에 r을 붙입니다. |
⦁ data type code
많이 사용되는 포맷 코드는 d(정수), f(실수), s(문자열)입니다.
번호 | 타입 코드 | 대상 |
1 | d | 10진수 정수(int) |
2 | f, F | 실수(float):십진 소수점형 출력 |
3 | s | 문자열(str) |
4 | b o x, X |
2진수 정수 8진수 정수 16진수 정수 |
5 | e, E | 실수(float):지수형 출력 |
출력하려는 데이터의 종류에 따라 대응되는 코드를 사용합니다.
%d(정수), %f(실수), %s(문자) 등이 대표적입니다.
a='pi=%8.3f ' %3.14159
print(a)
[출력] pi= 3.142
8.3f 는 전체 8칸을 준비하여 소수 3자리까지 출력합니다.
점도 한 칸을 차지하며, 정수부는 그대로 출력합니다.
앞쪽의 남는 칸은 공백으로 둡니다. 칸이 부족하면 데이터에 맞춰서 칸을 늘립니다.
⦁ 표준문자 탈출 코드(escape sequence code)
’\(back slash)‘와 약속된 문자를 함께 쓰면 문자열 속에서 특별한 기능을 한다.
번호 | 문자 | 설명 | sample | sample output |
1 | \ | 줄 이음(concatenation) | a='123' \ '45' |
12345 ‘\’는 단독으로 사용하지 못한다. |
2 | \\, \', \" | \(backslash) | a='123\\45' | 123\45 |
3 | \n \t |
줄 바꿈(linefeed) 칸 띄움(tab) |
a='123\n4\t5' print(a) |
123 4 5 |
4 | \ 기능 무시 | a=r'123\n45' | 123\n45 (r-format) |
※ 탈출 코드(eacape code)
따옴표로 둘러싼 문장안에 따옴표를 사용하는 등의 경우에 사용될 수 있습니다.
예를 들어, a=' I'm a CEO.' 의 경우 따옴표의 범위를 알 수 없어서 바르게 출력되지 않습니다. 이러한 경우에는 a='I\'m CEO'와 같이 '(아포스트러피) 왼쪽에 \(백슬래쉬)를 사용하여 바르게 출력 시킬 수 있습니다.
\'(작은 따옴표 출력), \"(큰 따옴표 출력), \\(백 슬래쉬 출력), \t(칸 띄우기), \n(줄 바꾸기) 등으로 사용합니다.
그러나 최근에는 a="I'm CEO" 등 안과 밖에 다른 따옴표를 사용하거나 f-foramtting을 사용하는 경우가 많습니다.
2. f-format 코드
f-format의 코드입니다.
실습하고, 이해하세요.
name, value='pi', 3.14159
m, d=3, 14
w=f'{name:>3s}={value:0.2f} \n그래서 {m}월 {d}일이 \'파이 데이\''
print(w)
출력 포맷을 개략적으로 알아 보았습니다.
자세한 사용 방법은 복잡하여 자세히 설명하지 않았습니다.
필요할 때에 메뉴얼을 참조하면 됩니다.
수고하셨습니다.
오늘 끝.
'알고리듬' 카테고리의 다른 글
[알고리듬] #30 주민등록번호 (0) | 2024.04.02 |
---|---|
[알고리듬] #29 리스트 튜플 레인쥐 메소드 (0) | 2024.03.31 |
[알고리듬] #27 스트링 메소드 (6) | 2024.03.30 |
[알고리듬] #26 매핑과 집합 (0) | 2024.03.29 |
[알고리듬] #25 자료형<순서열 정리> (0) | 2024.03.28 |