본문 바로가기
Python

Python Output Formatting

by ma_ro 2020. 1. 22.

Python에서 출력 포멧을 정하고 값을 넣어주는 방법은 크게 2가지가 있다.

 

1. format() 메서드

기존 언어의 format() 메서드와 사용법이 비슷하다. {}가 추가되고 %는 :로 대체 되었다. 

%03.2f   #기존
{:03.2f} 

 

1) 기본 사용법

>>> print('We are the {} who say "{}!"'.format('knights', 'Ni'))
We are the knights who say "Ni!"

{}을 넣고 그 뒤에 넣을 값을 format() 메서드에 넣어준다.

 

 

2) 위치 지정

>>> print('{0} and {1}'.format('spam', 'eggs'))
spam and eggs
>>> print('{1} and {0}'.format('spam', 'eggs'))
eggs and spam

{} 안에 위치 지정이 가능하다. 

 

3) 인자 항목 엑세스

>>> coord = (3, 5)
>>> 'X: {0[0]};  Y: {0[1]}'.format(coord)
'X: 3;  Y: 5'
>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
>>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '
...       'Dcab: {0[Dcab]:d}'.format(table))
Jack: 4098; Sjoerd: 4127; Dcab: 8637678

[]로 접근 원하는 항목을 지정한다. [] 앞의 숫자는 원하는 인자를 지정하는 인덱스 번호이다.

 

아래 예시 참고.

>>> for x in range(1, 6):
...     print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
...
 1   1    1
 2   4    8
 3   9   27
 4  16   64
 5  25  125

 

2. 포멧 문자열 리터럴 ( Formatted string literals )

시작 인용 부호 앞에 f 혹은 F 를 붙여서 사용한다. 

{} 안에 변수 혹은 표현식을 넣는다. 

>>> import math
>>> print(f'The value of pi is approximately {math.pi:.3f}.')
The value of pi is approximately 3.142.

 

변수명 접근도 가능하다. 

>>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
>>> for name, phone in table.items():
...     print(f'{name:10} ==> {phone:10d}')
...
Sjoerd     ==>       4127
Jack       ==>       4098
Dcab       ==>       7678

 

 

 

참고
 

7. 입력과 출력 — Python 3.8.1 문서

7. 입력과 출력 프로그램의 출력을 표현하는 여러 가지 방법이 있습니다; 사람이 일기에 적합한 형태로 데이터를 인쇄할 수도 있고, 나중에 사용하기 위해 파일에 쓸 수도 있습니다. 이 장에서는 몇 가지 가능성을 논합니다. 7.1. 장식적인 출력 포매팅 지금까지 우리는 값을 쓰는 두 가지 방법을 만났습니다: 표현식 문장 과 print() 함수입니다. (세 번째 방법은 파일 객체의 write() 메서드를 사용하는 것입니다; 표준 출력 파일은 sys.stdout

docs.python.org

 

string — 일반적인 문자열 연산 — Python 3.8.1 문서

string — 일반적인 문자열 연산 소스 코드: Lib/string.py 문자열 상수 이 모듈에 정의된 상수는 다음과 같습니다: string.ascii_letters 아래에 나오는 ascii_lowercase와 ascii_uppercase 상수를 이어붙인 것입니다. 이 값은 로케일에 의존적이지 않습니다. string.ascii_lowercase 소문자 'abcdefghijklmnopqrstuvwxyz'. 이 값은 로케일에 의존적이지 않고 변경되지 않습니

docs.python.org

'Python' 카테고리의 다른 글

Python requests 모듈  (0) 2020.01.25
Python 컬렉션 타입  (0) 2020.01.25
Python 조건문, 반복문  (0) 2020.01.23
Python 기본 데이터 타입  (0) 2020.01.21
if __name__ == '__main__': 의 의미?  (0) 2020.01.19

댓글