자기계발/Python

[Python] 기본4. 문자열 다루는 format() 함수

호등 2022. 2. 25. 09:12
반응형

문자열 뒤에 마침표(.)를 찍으면 문자열에서 사용할 수 있는 함수가 여러 개 나온다.

이 중 format( )함수에 대해 정리해보겠다.

 

(출력결과는 print( )함수로 출력했을때의 결과이다.)

 

문자열 format( ) 함수

"{}".format(10)
"{} {}".format(10, 20)
"{} {} {}".format(10, 20, 30)

중괄호{ }가 포함된 문자열 뒤에 마침표를 찍고 사용할 수 있다.

format( )함수에 숫자를 넣으면 이 숫자를 { }안에 넣을때 문자열로 만들어준다.

사용하려면 중괄호 개수와 format()안에 넣는 인자 개수가 같아야한다.

 

코드가 복잡해보이지만 그냥 괄호 안의 숫자를 대괄호 위치에 차례대로 넣어주는 역할이다.

 


 

format( )함수의 기능 1 

#1 정수
output_a = "{:d}".format(52) #결과 :52

#2 특정 칸에 출력
output_b = "{:5d}".format(52) #결과 :     52 (5칸 빈 칸으로 출력된 뒤에 나옴)
output_c = "{:10d}".format(52) #결과 :          52

#3 빈칸을 0으로 채우기
output_d = "{:05d}".format(52) #결과 : 00052
output_e = "{:05d}".format(-52) #결과 : 00-52

 

format( )함수로 숫자를 다양한 방법으로 출력이 가능하다.

1. 숫자를 정수로 출력

2. 숫자를 특정 칸에 출력

3. 숫자를 특정 칸에 출력하되, 나머지 빈칸을 0으로 채우면서 출력

예는 위 코드를 보면 알 수 있다.


format( )함수의 기능 2

output_f = "{:+d}".format(52) # 출력결과 : +52
output_g = "{:+d}".format(-52) # 출력결과 : -52
output_h = "{: d}".format(52) # 출력결과 :  52
output_i = "{: d}".format(-52) # 출력결과 : -52

1,2 d앞에 +를 추가하면 양수의 경우 +를 붙여서 출력해준다.

3,4 d앞에 공백을 추가하면 양수의 경우 공백을 추가해준다.

 

둘 다 양수일때 적용되는 기능이다.

특정 경우에만 필요할 것 같아서 잘 안쓰일 것 같다.

 

추가로 특정 칸에 출력하는 기능과 혼합하여 사용이 가능하다.

"{:+5d}".format(52)이런식으로도 사용이 가능하며 '  +52'와 같이 출력된다.

"{:=+5d}".format(52)와 같이 등호를 붙인다면 '+  52'와 같이 기호만 앞으로 빼준다.


 format( )함수의 기능 3

output_a = "{:f}".format(52.273) #출력결과 : 52.27300
output_b = "{:15f}".format(52.273) #출력결과 :         52.273000
output_c = "{:+15f}".format(52.273) #출력결과 :        +52.273000
output_d = "{:+015f}".format(52.273) #출력결과 : +0000052.273000

output_e = "{:15.3f}".format(52.273) #출력결과 :         52.273

부동 소수점 float형 버전이다.

정수는 decimal의 d, 부동 소수점은 float의 f를 사용하는 차이일 뿐이다.

뒤에 소수점을 제한하는 예시는 output_e의 결과를 참고!


format( )함수의 기능 4

output_a = 52.0 #출력결과 52.0
output_b = "{:g}".format(output_a) #출력결과 52

의미없는 소수점 0을 제거하려면 {:g}를 사용한다.

52.0처럼 의미없는 소수점을 지우면 자료형이 float에서 int로 바뀌게 된다.

 

 

이번 포스팅에서는 파이썬의 format( )함수를 기록해 보았다.

거의 쓸 일 없을 것 같지만 나중에 필요하면 보러 올 생각이다

반응형