문자열 포맷팅할 때 나는 무조건 f-string을 사용한다. 이 방법이 가장 직관적(가독성이 좋음)이고 코드가 깔끔해 보인다.
찾아보니 생각보다 f-string 의 활용방법이 많길래 이참에 정리해보려고 한다.
이번 게시글은 GPT의 도움을 받아 작성한다.
f-string 이란
f-string은 Python 3.6 이상에서 도입된 문자열 포맷팅 방식으로, 문자열 안에서 변수나 표현식을 간편하게 사용할 수 있습니다. f-string은 문자열 앞에 f를 붙여서 표현하며, 중괄호 {} 안에 변수나 표현식을 넣어 사용합니다.
응용1 : 변수 삽입
name = "Alice"
age = 30
message = f"My name is {name} and I am {age} years old."
print(message) # 출력: "My name is Alice and I am 30 years old."
응용2 : 수식과 표현식 삽입
x = 10
y = 5
result = f"The sum of {x} and {y} is {x + y}, and the product is {x * y}."
print(result) # 출력: "The sum of 10 and 5 is 15, and the product is 50."
응용3 : 함수 호출
def greet(name):
return f"Hello, {name}!"
user = "John"
greeting = greet(user)
print(greeting) # 출력: "Hello, John!"
응용4 : 숫자 포맷팅
pi = 3.14159265359
formatted_pi = f"Value of pi: {pi:.2f}"
print(formatted_pi) # 출력: "Value of pi: 3.14"
응용5 : 딕셔너리 데이터
person = {"name": "Jane", "age": 25}
info = f"My name is {person['name']} and I am {person['age']} years old."
print(info) # 출력: "My name is Jane and I am 25 years old."
응용6 : 변수나 표현식 안에서 조건문 사용
x = 7
message = f"{x} is {'even' if x % 2 == 0 else 'odd'}."
print(message) # 출력: "7 is odd."
응용7 : 리스트와 반복문
fruits = ["apple", "banana", "orange"]
message = f"I like to eat: {', '.join(fruits)}"
print(message) # 출력: "I like to eat: apple, banana, orange"
응용8 : 변수 이름 동적 생성
for i in range(5):
locals()[f"var_{i}"] = i # var_0, var_1, var_2, var_3, var_4 변수를 동적으로 생성
print(var_2) # 출력: 2
응용9 : 이스케이프 문자 사용
name = "Tom"
escaped = f"Hello, \{name\}!" # f-string에서 이스케이프 문자 사용
print(escaped) # 출력: "Hello, {name}!"
응용10: f-string 내부에서 특수문자 사용
amount = 1000
message = f"Total amount: ${amount:,}" # 천 단위마다 콤마(,)를 넣어서 출력
print(message) # 출력: "Total amount: $1,000"
응용11 : 형식 지정
이건 띄어쓰기인듯
name = "David"
age = 28
formatted = f"My name is {name:>10} and I am {age:<5} years old."
print(formatted) # 출력: "My name is David and I am 28 years old."
응용12 : 이스케이스 중괄호 사용
value = 42
escaped_braces = f"{{ {value} }}"
print(escaped_braces) # 출력: "{ 42 }"
응용13 : 날짜 포맷팅
from datetime import datetime
# 현재 시간을 얻습니다.
now = datetime.now()
# f-string을 사용하여 날짜 포맷팅
formatted_date = f"{now:%Y-%m-%d %H:%M:%S}"
print(formatted_date) # 출력: "2023-08-05 15:30:00"
'🏷️CS > Python' 카테고리의 다른 글
던더 메서드 #1 (0) | 2023.08.24 |
---|---|
dir, help, inspect (0) | 2023.08.24 |
[for 와 else 를 같이 사용] (0) | 2023.07.31 |
[정규표현식] re 모듈 (0) | 2023.07.14 |
[assert 가정 설정문] (1) | 2023.07.10 |