f"문자열 {변수} 문자열"
: 변수를 사용하여 더 직관적인 문자열 출력 가능!
f-string은 < formatted string >의 약자로, 문자열 내에서 {중괄호}를 사용하여 변수와 표현식을 간단하게 포함할 수 있게 해준다.
예시
ages = [{'name':'spino','age':2},
{'name':'tyranno','age':21},
{'name':'allo','age':17},
{'name':'raptor','age':5}]
ages라는 리스트 안에 각각 name과 age의 값이 저장되어있는 딕셔너리들이 담겨있다.
반복문으로 딕셔너리를 하나씩 돌면서 각각 value 값을 출력하면,
for a in ages:
name = a['name']
age = a['age']
print(name, age)
# spino 2
# tyranno 21
# allo 17
위와같은 결과가 출력된다. 이때 저렇게 띡띡 대충 출력하는거 말고
"spino의 나이는 x살 입니다." 라고 멋지게 출력하고싶을 때는, 문자열의 덧셈을 이용하여 문자들을 이어 붙여서 다음과 같이 출력할 수 있다.
for a in ages:
name = a['name']
age = a['age']
print(name + '의 나이는 ' + age + '살입니다.')
# TypeError: can only concatenate str (not "int") to str
오류ㅜ
아 지금 age가 숫자(int)라서 문자(str)랑 덧셈이 안된다.
age를 str() 안에 넣어서 숫자를 문자로 바꿔주기.
for a in ages:
name = a['name']
age = a['age']
print(name + '의 나이는 ' + str(age) + '살입니다.')
# spino의 나이는 2살입니다.
# tyranno의 나이는 21살입니다.
# allo의 나이는 17살입니다.
됐다!
근데 만약 name, age 말고도 막 여러가지 변수를 포함하는 문자열을 출력해야하는 상황이라면 겁나 안예쁘고 머리가 아파질것이다. 여기서 f-string을 사용하면 간단하고 직관적으로 표현할 수 있다.
for a in ages:
name = a['name']
age = a['age']
print(f"{name}의 나이는 {age}살입니다.")
# spino의 나이는 2살입니다.
# tyranno의 나이는 21살입니다.
# allo의 나이는 17살입니다.
앞에 f를 붙여주고 변수를 {중괄호}에 넣어주면 끝!
그리고 f-string 쓰면 age를 str로 변환시키지 않아도 된다!
'python' 카테고리의 다른 글
[Python 미니세션] 딕셔너리 관련 함수 (0) | 2024.07.11 |
---|---|
[Python 미니세션] 기본문제 (0) | 2024.07.10 |
[Python 기초] 집합 set (0) | 2024.07.09 |
[Python 기초] 튜플 tuple (0) | 2024.07.09 |
[Python 기초] 숫자 int (0) | 2024.07.05 |