[Python] 편리한 꿀팁! f-string으로 변수와 값 쉽게 출력 (= 지시자)

반응형

Python Logo

* 전체 코드

## 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]

 

Contents

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과 = 지시자를 활용한 변수 출력방법을 알아보았습니다.

다음에 더욱 재미있고 유익한 내용으로 찾아오겠습니다.

읽어주셔서 감사합니다.

 

* 위의 실습 코드는 아래의 깃허브에 모두 정리해두었습니다.

 

GitHub - netsus/python_practice: basic python course

basic python course. Contribute to netsus/python_practice development by creating an account on GitHub.

github.com

 

Reference)
1. Python Logo: https://www.redbubble.com/i/pin/Python-logo-by-Shirtupme/46071453.NP9QY

 

반응형

댓글

Designed by JB FACTORY