본문 바로가기
프로그래밍/python

[Python] f-string

by blopz 2025. 7. 21.

float의 소수 둘째자리 까지 출력을 해야할때 round(0.203)을 하면 0.20이 아니라 0.2가 출력된다...

 

이럴때 무조건 소수 둘째자리 까지 출력하려면 format을 쓴다

format(0.203, "0.2f")

 

처럼 하면 작동하는데 사실 이렇게 하는것보단

f"{0.203:.2f}"

 

을 쓰는게 가독성이 좋은것 같다.

 

 

여기서 포맷을 지정하는 포맷지정자는

 

지피티가 만들어준 이미지

 

앞이 width 폭이 되고 뒤가 percision 정밀도가 된다. 

 

Width

  • 문자열의 최소 너비를 결정한다
  • width를 지정하면 percision이 같은 문자열끼리 아주 이쁘게 출력된다
  • 만약 width를 지정하고 싶지 않다면 0으로 하던가 공란으로 해도 무방하다

Precision

  • 문자열의 정밀도를 결정한다
  • 만약 0.23456789 이런 소수가 있다고 치면 최대한 많은 소숫점을 표기하는게 정밀도가 높기에 정밀도라고하는것 같다
  • .2f 이면 소수 둘째자리까지 표기한다

Format 

  • 예시의 f는 float format이다
  • %는 퍼센트
  • e는 큰수를 나타낼때 자주쓰는 과학표기법
  • d, x, o, b 로 10진수, 16진수, 8진수, 2진수로 간편하게 진수변환할수도 있다!
  • s로 문자열도 포맷팅 할 수 있다

정렬

  • Precision 앞에 <나 >를 붙여 표기할 정렬을 바꿀 수 있다
  • <를 붙이면 좌측정렬
  • >를 붙이면 우측정렬

채우기

  • 정렬 앞에 빈칸을 무엇으로 채울지 정할 수 있다.
  • _<10.2f 는 빈칸을 _으로 채우고 좌측정렬하고 10칸이며 소수 둘째자리 까지 표기한다
  • 무조건 정렬앞에 와야하나보다 <_ 는 안된다