🗄️ 데이터센터
home
주식거래 데이터
home

f-string 변수활용

f-string이란?

f-stringPython 3.6+에서 도입된 문자열 포매팅 방식입니다. 문자열 앞에 'f' 또는 'F'를 붙여 사용하며, 중괄호 {}를 통해 파이썬 표현식을 직접 삽입할 수 있습니다.

기본 사용법

f-string의 기본 사용법은 매우 간단합니다. 문자열 앞에 'f' 또는 'F' 접두사를 붙이고, 중괄호 {} 안에 변수표현식을 넣으면 됩니다. 중괄호 안의 변수나 표현식은 문자열이 만들어질 때 자동으로 평가되어 그 결과값이 문자열에 포함됩니다.
예를 들어, 아래 코드에서는 nameage 변수의 값이 문자열 내부에 자동으로 삽입됩니다. 이때 변수의 타입을 신경 쓸 필요가 없으며, 파이썬이 자동으로 적절한 문자열 변환을 수행합니다.
name = "Alice" # 변수페이지 참고 age = 25 print(f"My name is {name} and I'm {age} years old")
Python
복사

연습만이 성장의 지름길!

코딩직접 해봐야 합니다! colab으로 간단히 연습해 보세요. 프로젝트 전체가 아닌, 작은 코드 조각들을 하나씩 연습하는 것입니다. 이렇게 연습한 조각들이 모여 성공적인 프로젝트가 완성됩니다.

f-string의 장점

가독성이 좋음: 문자열 내에 직접 변수를 삽입할 수 있어 코드가 더 명확해집니다.
# 기존 방식 name = "Alice" print("Hello, {}".format(name)) # f-string 방식 print(f"Hello, {name}") # 더 직관적이고 읽기 쉬움
Python
복사
간결한 문법: % 연산자나 .format() 메소드보다 더 간단하게 사용할 수 있습니다.
# % 연산자 방식 print("Score: %d%%" % 85) # .format() 방식 print("Score: {}%".format(85)) # f-string 방식 print(f"Score: {85}%") # 가장 간단함
Python
복사
표현식 지원: 중괄호 안에 간단한 파이썬 표현식을 사용할 수 있습니다.
price = 1000 quantity = 3 # 수식 계산 print(f"Total: ${price * quantity:,}") # Total: $3,000 # 메소드 호출 name = "alice" print(f"Hello, {name.title()}") # Hello, Alice # 딕셔너리 접근 data = {"x": 100, "y": 200} print(f"Position: ({data['x']}, {data['y']})") # Position: (100, 200)
Python
복사

주의사항

Python 3.6 이상의 버전에서만 사용 가능합니다.
# Python 3.5 이하에서는 에러 발생 # SyntaxError: invalid syntax name = "Alice" f"Hello, {name}"
Python
복사
중괄호를 출력하려면 이중 중괄호({{ }})를 사용해야 합니다.
# 중괄호 출력하기 print(f"중괄호 표시: {{변수}}") # 출력: 중괄호 표시: {변수}
Python
복사
표현식 내에서 따옴표 사용 시 주의가 필요합니다.
작은따옴표와 큰따옴표를 적절히 혼용해야 합니다.
name = "Alice" print(f'Hello, "{name}"') # 큰따옴표 출력 print(f"Hello, '{name}'") # 작은따옴표 출력
Python
복사
f-string 내에서 같은 따옴표를 사용할 경우 이스케이프(\)가 필요합니다.
message = "Hello" print(f"He said \"${message}\"") # 이스케이프 사용
Python
복사
멀티라인 f-string은 백슬래시(\)를 사용하거나 괄호로 묶어야 합니다.
# 괄호 사용 message = ( f"First line " f"Second line" ) # 백슬래시 사용 message = f"First line " \ f"Second line"
Python
복사
표현식 안에서는 백슬래시(\)를 사용할 수 없습니다.
# 에러 발생 # SyntaxError: f-string expression part cannot include a backslash print(f"{\"quoted\"}") # 잘못된 예시 # 대신 변수 사용 quoted = "quoted" print(f"{quoted}") # 올바른 예시
Python
복사
중괄호 안에서는 if-else문을 직접 사용할 수 없으며, 조건부 표현식을 사용해야 합니다.
age = 20 # 조건부 표현식 사용 print(f"Status: {'성인' if age >= 18 else '미성년자'}") # 직접 if문은 사용 불가 # print(f"Status: {if age >= 18: '성인' else '미성년자'}") # 에러
Python
복사

Python 3.13의 f-string 업데이트

Python 3.13에서는 f-string에 새로운 기능이 추가되었습니다. 가장 주목할 만한 변화는 중괄호 안에서 줄 바꿈이 가능해진 것입니다.
# Python 3.13 이전 data = (f"Value: {" "multi-line " "not allowed"}") # Python 3.13부터 가능 data = f"Value: { "multi-line " "allowed" }"
Python
복사
이러한 변화로 인해 복잡한 표현식을 포함하는 f-string을 더 가독성 있게 작성할 수 있게 되었습니다. 특히 긴 표현식이나 여러 줄에 걸친 계산식을 작성할 때 유용합니다.