Programming/Python

[Python] 문자열 포매팅 - f 문자열 (f-string)

한우콩 2021. 9. 27. 20:45

📌 문자열 포매팅

문자열 포매팅은 동일한 형태의 문자열 안에서 특정한 값을 변경할 때 사용한다. 즉, 문자열 안에 어떠한 값을 삽입하는 방법이다.

 

저는 28살 입니다.
저는 18살 입니다.

 

이렇게 동일한 형태의 문자열을 가지면서 특정 문자만 다르게 표현할 때 문자열 포매팅을 사용

 

 

📌 f-string

파이썬 3.6 버전부터 지원하는 문자열 포매팅 방법이다. format() 함수나 % 연산자는 사용법도 불편하고 무엇보다 가독성이 떨어지는 문제가 발생하는데 f-string을 사용함으로써 간결하고 읽기 편한 코드를 작성할 수 있다. 문자열 앞에 f 접두사를 붙이면 f-string 포매팅 기능을 사용할 수 있다.

 

간단한 사용법 예시

 

>>> name = 'Hanwoo'
>>> age = 100
>>> f'My name is {name}. I am {age} years old.'

'My name is Hanwoo. I am 100 years old.'

 

 

변수 치환 (변수값 참조)

 

>>> x = 10
>>> y = 20
>>> f"{x} + {y}는 {x + y}입니다."

'10 + 20는 30입니다.'

 

➡  중괄호를 사용하면 f-string 안에 파이썬의 표현식을 삽입할 수 있다.

 

 

함수 호출

 

>>> name = 'Hanwoo'
>>> f'My name is {len(name)}.'

'My name is 6.'

 

  f-string을 사용하면 함수 호출 결과를 삽입할 수 있다.

 

표현식?

표현식이란 문자열 안에서 변수와 +, -와 같은 수식을 함께 사용하는 것을 말한다.

 

 

정렬

 

f-stirng에서 문자열의 공백의 크기를 지정할 경우 format() 함수처럼 고급 형식지정 문자열을 사용할 수 있다.

 

고급 형식지정 문자열 내용
< 왼쪽 정렬
> 오른쪽 정렬
^ 가운데 정렬

 

# 왼쪽 정렬
>>> f'{"Hanwoo":#<10}'  

'Hanwoo####'

# 오른쪽 정렬
>>> f'{"Hanwoo":#>10}'  

'####Hanwoo'

# 가운데 정렬
>>> f'{"Hanwoo":#^10}'

'##Hanwoo##'

 

➡  공백의 크기를 지정할 경우 {}안에 : 기호를 넣고 그 뒤에 고급 형식지정 문자열을 넣는다.

  : 뒤에 오는 숫자는 공백의 크기를 뜻한다.

➡  만약 >, <, ^ 기호 앞에 문자열을 쓰면 해당 문자열로 공백을 채운다.