* 전체 코드
## f-string = 지시자
power=100
print(f"{power=}")
# 출력: power=100
## 활용 예시
gesus=100
budda=[]
for i in range(5):
gesus+=i
budda.append(gesus)
print(f"{gesus=}, {len(budda) = }, {budda=}")
# 출력
# gesus=100, len(budda) = 1, budda=[100]
# gesus=101, len(budda) = 2, budda=[100, 101]
# gesus=103, len(budda) = 3, budda=[100, 101, 103]
# gesus=106, len(budda) = 4, budda=[100, 101, 103, 106]
# gesus=110, len(budda) = 5, budda=[100, 101, 103, 106, 110]
1. 배경
python을 쓰다 보면, 디버깅을 하는 경우 혹은 새로운 코드의 함수들이 어떻게 동작하는지 보고 싶은 경우 등등 어떤 변수에 어떤 값이 들어있는지 쉽게 보고 싶은 경우가 많습니다. 이럴 때 print문을 쓰거나 logging을 쓰는 등 다양한 방법으로 변수의 값을 출력하는데, f-string을 통해 변수와 그 값을 간단한 코드로 출력할 수 있는 방법을 알아보겠습니다.
( f-string 기본 개념: [Python] f-string 포맷팅 (소수점, 퍼센트, 부동소수점) )
2. 사용법
f"{변수=}"
중괄호 안에 변수를 넣는 것 까지는 기본적인 f-string 방법과 유사합니다. 핵심은 변수 오른쪽에 "="을 써서, 변수 이름과 변수의 값을 같이 문자열로 출력하는 것입니다.
1) 기초 예시
power=100
print(f"{power=}")
power라는 변수에 100을 넣었고, {power=}으로 출력하면 아래와 같이 power=100이 출력됩니다.
* 출력
2) 활용 예시
gesus=100
budda=[]
for i in range(5):
gesus+=i
budda.append(gesus)
print(f"{gesus=}, {len(budda) = }, {budda=}")
단순히 숫자 외에, 리스트나 len() 함수를 적용한 리스트의 길이도 같이 쓸 수 있습니다. 또한, {len(budda) = } 이렇게 "="의 앞 뒤로 공백을 주면, 아래 사진의 빨간 박스 표시 부분처럼 출력될 때도 앞뒤로 공백이 적용되어 출력됩니다.
* 코드 설명
gesus에 100을 할당하고, budda라는 빈 리스트를 정의합니다. 다음으로 for문에서 range(5)로 0부터 5까지 반복하며, gesus에 i를 더해서 다시 gesus에 할당하고, 그 값을 budda 리스트에 append 한 뒤에 gesus와 len(budda), budda를 f-string의 =과 함께 출력합니다.
* 출력
3. 편리한 이유
코드를 작성하다 보면 변수에 의미를 담아 길게 쓰는 경우가 있습니다. 이럴 때, 값을 출력해보면 출력된 게 어떤 변수에서 나온 건지 헷갈리는 경우가 많습니다. 위처럼 간단하게 f-string과 =을 같이 쓰면 이런 문제가 해결됩니다.
이상으로 f-string과 = 지시자를 활용한 변수 출력방법을 알아보았습니다.
다음에 더욱 재미있고 유익한 내용으로 찾아오겠습니다.
읽어주셔서 감사합니다.
* 위의 실습 코드는 아래의 깃허브에 모두 정리해두었습니다.
Reference)
1. Python Logo: https://www.redbubble.com/i/pin/Python-logo-by-Shirtupme/46071453.NP9QY
'Programming > Python 꿀팁' 카테고리의 다른 글
[Python] Python 코드 실행시간 측정 4가지 방법 (feat. Jupyter Notebook) (2) | 2022.07.06 |
---|---|
[Python] Pickle - python의 변수, 함수, 객체를 파일로 저장! (0) | 2022.07.01 |
[Python] f-string 포맷팅2 (2,8,16 진수, 1000단위 쉼표, 정렬, 문자채우기) (0) | 2022.06.25 |
[Python] f-string 포맷팅 (소수점, 퍼센트, 부동소수점) (0) | 2022.06.16 |
[Python] 유용한 새로운 연산자! 바다코끼리 연산자 := (walrus operator) (0) | 2022.04.08 |