python

[Python 기초] f-string

kinggoddino 2024. 7. 9.

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