[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