* 전체 코드
## 기초 예시
a=10
print(f"a: {a}") # Output: 10
print(f"a: {a:.2f}") # Output: 10.00
## 자주 사용하는 포맷팅
### 소수점 자리수
import math
pi=math.pi
print(pi) # Output: 3.141592653589793
print(f"파이: {pi:.3f}") # Output: 파이: 3.142
### 퍼센트(백분율)
percent=0.9522
print(f"퍼센트: {percent:.2%}") # Output: 퍼센트: 95.22%
### 부동 소수점 출력
li = [0.0, 0.5, 1.0]
for i in li:
print(i) # Output: 0.0 0.5 1.0
for i in li:
print(f"{i:g}") # Output: 0 0.5 1
1. 배경
python에서는 문자열에 변수의 값을 같이 출력하는 매우 편리한 기능 f-string이 있습니다. f-string의 기초적인 사용법과 자주 사용하는 포맷팅을 알아보겠습니다.
2. 개념
print(f"변수: {변수}")
f-string의 기본형식입니다. 중괄호 안의 변수는 변수의 값으로 출력됩니다.
print(f"변수: {변수:타입 지시자}")
변수를 원하는 포맷으로 출력하고자 하는 경우, '타입 지시자' 부분을 작성함으로써 변수를 여러 가지 포맷으로 출력할 수 있습니다.
3. 기초 예시
1) 변수 출력
a=10
print(f"a: {a}")
a에 10을 넣고, f-string으로 출력해보겠습니다.
* 출력
2) 기초 포맷팅
print(f"a: {a:.2f}")
a에는 정수형 10이 들어갔지만, 포맷팅을 통해 소수점 2자리까지 출력해보겠습니다. 소수점 출력 방법은 아래에서 자세히 다루겠습니다.
* 출력
4. 자주 사용하는 포맷팅
1) 소수점 자리수 포맷팅
import math
pi=math.pi
print(pi)
print(f"파이: {pi:.3f}")
math 라이브러리에서 pi값을 불러왔습니다. 해당 값을 f"{pi:.3f}"를 이용하면 소수점 3자리까지만 출력됩니다. : 오른쪽에 .3f가 타입 지시자입니다. .3이 소수점 3자리까지만 출력을 의미하고, f는 float을 단축한 것입니다. 아래 예시를 보면, 소수점을 3자리로 줄일 때 자동으로 반올림이 적용됩니다.
* 출력
2) 퍼센트(백분율)
percent=0.9522
print(f"퍼센트: {percent:.2%}")
percent 변수에 0.9522를 넣고, f-string으로 퍼센트 형식으로 출력해보았습니다. .2% 부분이 타입 지시 부분입니다. 소수점 2자리까지 % 형태로 출력하라는 의미입니다.
* 출력
3) 부동 소수점 출력
파이썬을 사용하다 보면 float형태라도 소수점이 없는 경우 정수형으로 출력하고, 소수점이 있을 때만 float형태로 출력하고 싶은 경우가 있습니다. 이를 쉽게 할 수 있는 것이 부동 소수점 타입 지시자인 g입니다.
li = [0.0, 0.5, 1.0]
for i in li:
print(i)
* 출력
예를 들어, 위와 같은 경우 0.0과 1.0은 float 형이지만 소수 부분이 없습니다. 이런 경우 정수로 출력하고, 소수가 있는 0.5만 소수로 출력하는 방법을 알아보겠습니다.
for i in li:
print(f"{i:g}")
* 출력
읽어주셔서 감사합니다.
오늘도 발전하는 모습을 응원합니다.
다음에 더 유익한 글로 찾아오겠습니다.
* 위의 실습 코드는 아래 링크에 모두 정리되어 있습니다.
https://github.com/netsus/python_practice/blob/master/fstring_formatting_1.ipynb
Reference)
1. Python Logo : https://www.redbubble.com/i/pin/Python-logo-by-Shirtupme/46071453.NP9QY
2. https://codedatasotrage.tistory.com/58
'Programming > Python 꿀팁' 카테고리의 다른 글
[Python] Pickle - python의 변수, 함수, 객체를 파일로 저장! (0) | 2022.07.01 |
---|---|
[Python] f-string 포맷팅2 (2,8,16 진수, 1000단위 쉼표, 정렬, 문자채우기) (0) | 2022.06.25 |
[Python] 유용한 새로운 연산자! 바다코끼리 연산자 := (walrus operator) (0) | 2022.04.08 |
[Python] 현재시간 출력 및 포맷팅 방법 (time, datetime library) (0) | 2022.04.04 |
[Python] 딕셔너리 리스트 Key 순서 정렬 (sort list of dictionary) (2) | 2022.03.25 |