Python/Python기초

3-3 Print 함수의 이해 ( Format )

빈코더 2020. 4. 28. 00:13
728x90

안녕하세요! 비노입니다.👏👏

 

오늘은 Print함수의 마지막인 Format에 대해 알아보도록 하겠습니다.

 

Format은 개발할 때 굉장히 많이 사용하므로 

 

이해가 될때까지 반복하시는 걸 추천드립니다.

 

그럼 일단 예제부터 확인해볼까요?

입력 값
print('{} and {}'.format('book', 'pencil'))


출력 값 
book and pencil

위 예제를 보고 Format을 설명드리자면

 

{ } 중괄호의 자리를 지정해 놓고 문장이 끝나면 뒤에. format을 붙여 format의 ( ) 안의 문자를

 

순서대로 { }안에 넣어줍니다.

 

쉽게 다시 설명드리자면 위에서 순서대로 넣어준다고 했으니

 

format을 사용하면 book을 첫 번째 { }에, pencil을 두 번째 { }에 넣어주게 됩니다.

 

' ' 가 아닌 " "으로도 사용이 가능합니다. 

 

다른 예제를 확인해볼까요?

입력 값
print("{0} and {1} and {0}".format('book', 'pencil'))


출력 값
book and pencil and book

이번엔 { } 안에 0과 1을 넣어 줬는데

 

0을 넣은 곳엔 book이 1을 넣어준 곳에는 pencil이 출력되었습니다.

 

그 이유는 fommat의 0번째 자리에 book이 1번째 자리에 pencil을 주었기 때문입니다.

 

아! 여기서 한 가지 설명을 드리자면

 

사람은 보통 1부터 숫자를 셈하지만 컴퓨터는 0부터 셈을 합니다.

 

그렇기 때문에 0을 넣었을 때 book이 출력이 되는 겁니다.

 

아주 중요한 것이기 때문에 꼭 알아두셔야 됩니다.

 

다른 예제들도 확인해볼까요?

입력 값
print('{a} and {b}'.format(a='book', b='pencil'))


출력 값
book and pencil

위 예제는 a와 b에 각각 book과 pencil을 직접 지정을 해주는 방법입니다.

 

이번에는 format을 사용하지 않고 출력을 해보도록 합시다.

 

그전에 한 가지 알아두셔야 할 게 있는데 

 

% s : 문자, % d : 정수, % f : 실수입니다.

 

위  3개를 사용해서 출력해 봅시다.

입력 값
print("%s scored %d goals." %('Messi', 3))


출력 값
Messi scored 3 goals.

% s에 Messi를 % d에 3을 지정해주니 출력 값이 나왔습니다.

 

쉽죠? 여기서 한 가지 주의하실 점은 순서입니다.

 

% s 자리에는 정수가 들어가도 오류가 안 나지만 % d 자리에 문자가 들어가면 오류가 발생합니다.

 

그렇기 때문에 꼭 순서대로 지정해주도록 합시다.

 

이제 부턴 여러 예제를 한번에 보여드리도록 하겠습니다.

 

궁금하신점은 댓글 부탁드립니다^^

1. 자리수 지정
입력 값
print("Test1: %4d, Test2: %3.2f" %(123, 123.4567))

출력 값
Test1:  123, Test2: 123.46

설명 %4d는 정수 4자리 까지 자리수를 지정하는 것이고 그래서 123앞에 공백이 생겼다.
     %3.2f는 정수는 3자리까지 실수는 2자리까지 지정하는 것이다.
     그렇기 때문에 123.4567중에 123.46까지만 출력이 되는 것 이다.
     
2. 여러가지 방법

입력 값
print("Test1:{0: 4d}, Test2:{1: 3.2f}".format(123, 123.4567))
print("Test1:{0: %4d}, Test2:{1: %3.2f}" %(123, 123.4567))
print("Test1:{a: 4d}, Test2:{b: 3.2f}".format(a=123, b=123.4567))


출력 값
Test1: 123, Test2: 123.46
Test1:{0:  123}, Test2:{1: 123.46}
Test1: 123, Test2: 123.46

꼭 복습하시고

 

개발자마다 사용하는 것이 다르니 

 

자신만의 방식을 찾아서 하시면 됩니다.

 

감사합니다.

 

다음장에서 뵈요 ~ 

728x90

'Python > Python기초' 카테고리의 다른 글

Python Nested Function  (0) 2021.09.09
Python Decorator  (0) 2021.09.09
3-2장 Print 함수의 이해 ( Separator,End )  (0) 2020.04.26
3-1장 Print 함수의 이해 ( 기본 출력 )  (0) 2020.04.20
2장 Visual Studio Code 기본 설정!  (0) 2020.04.19