본문 바로가기

개발 공부

[파이썬] 문자열 포맷 방식(% operator, str.format, f-string) / 구름EDU

반응형

파이썬 문자열 포맷 방식은 다양합니다.

 

 

#1 % operator (오래된 방식)

C언어에서 printf로 사용한 적있다면 익숙한 방식입니다.

%d, %s, %c 등을 사용하여 작성이 가능한데 

타입을 정확하게 알고 작성해야 한다는 단점이 있습니다.

데이터 타입이 다를 경우 에러가 발생하고

포맷팅할 문자열이 길어지면 더러워집니다.

 

 

#2 str.format

파이썬3 이후부터 새로운 포맷팅을 제시합니다.

파이썬3에서도 %operator를 지원하지만 권장하지 않다고 나와 있습니다.

%operator 보다 읽기는 좋지만 여러 매개변수와 긴 문자열을 처리할 때 장황하다는 단점이 있습니다.

 

 

#3 f-string

파이썬3.6 이상 버전부터 지원하는 방식으로

str.format이 %operator에 비해 강력하고 쉽지만

f-string은 더 깔끔하고 간편해졌습니다. 

속도도 가장 빠른것으로 확인할 수 있습니다.

중괄호가 들어가는 코드 처음에 f를 입력해야하는데 

대문자 F도 같은 결과값이 나온다.

 

 

# 방법 1
print("나는 %d살입니다." % 20)
print("나는 %s을 좋아해요." % "파이썬")
print("Apple 은 %c로 시작해요." % "A")

# %s
# print("나는 %s살입니다." % 20)
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간"))

# 방법 2
print("나는 {}살입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요.".format("파란","빨간"))
print("나는 {0}색과 {1}색을 좋아해요.".format("파란","빨간"))
print("나는 {1}색과 {0}색을 좋아해요.".format("파란","빨간"))

# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color = "빨간"))
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20))

# 방법 4 (v.3.6 이상~)
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")

 

 

 

반응형