티스토리 뷰

 

f-string

 

format, %(서식 지정자)와 같은 문자열 포매팅 방법들 중 f-string이 가장 마지막에 업데이트되었다.

나의 경우, 파이썬 4개월 차여서 처음부터 f-string을 사용하다가 얼마 전에 format과 % 서식 지정자를 알아보았는데.. 번거로워서 어떻게 쓰나 싶다. 그만큼 f-string의 사용법이 간단하다.

※ 파이썬 버전에 따라 f-string을 이용하지 못할 수 있다. 3.6 버전 이후부터 가능한 것으로 알고 있다.

 

- 순서 -
1. f-string 사용법
2. 글자 수를 지정하여 문자열 정렬하기
3. 소수점 자릿수 지정하기

 


1. f-string 사용법

1) 문자열을 지정하는 따옴표 앞에 f를 접두사로 붙인다.

2) 문자열 안에서 중괄호{ }를 이용해 변수나 계산식을 입력할 수 있다.

>>> names = ['보라', '영희', '철수']
>>> nums = [15, 20, 49]
>>> for name, age in zip(names, nums) :
>>>     print(f'{name}의 나이는 {age}세 이다.')
보라의 나이는 15세 이다.
영희의 나이는 20세 이다.
철수의 나이는 49세 이다.

>>> for x in range(1,10,2):
>>>     print(f'{x} x 2 = {x*2} 입니다.')
1 x 2 = 2 입니다.
3 x 2 = 6 입니다.
5 x 2 = 10 입니다.
7 x 2 = 14 입니다.
9 x 2 = 18 입니다.

 

2. 글자 수를 지정하여 문자열을 정렬

2-1. f-string의 중괄호{ } 안에서 : 구분자를 이용한다. 

: 구분자 왼쪽은 문자나 숫자를, 오른쪽엔 정렬 기호와 숫자, 서식 지정자 알파벳을 써준다.

서식 지정자> 문자열: s / 정수: d / 실수: f

""" % 서식 지정자나 format은 문자, 정수, 실수를 나타내는 알파벳을 붙여서 사용해야 하는데 f-string에서는 알파벳을 붙이지 않아도 처리되는 경우가 있는 것 같다. 그렇지만, 처리가 안 되는 경우도 있으니 서식 지정자 알파벳을 붙여주는 것이 좋겠다. """

 

2-2. f- string 글자 정렬 표현방법

예를들어, 글자 수 10개일 때

왼쪽 정렬

가운데 정렬

오른쪽 정렬

{문자:10s}

{정수:^10d}

{실수:>10f}

 

2-3. 사용 예시

위에 만든 for문을 동일하게 사용하고 중괄호{ } 4개를 각각 다른 정렬을 표현한다.

>>> names = ['보라', '영희', '철수']
>>> nums = [15, 20, 49]
>>> for name, age in zip(names, nums) :
>>>     print(f'{name:10s}의 나이는 {age:^10d}세 이다.') # 왼쪽정렬, 가운데정렬
보라        의 나이는     15    세 이다.
영희        의 나이는     20    세 이다.
철수        의 나이는     49    세 이다.

>>> for x in range(1,10,2):
>>>     print(f'{x:>10d} x 2 = {x*2} 입니다.') # 오른쪽정렬, 기본
         1 x 2 = 2 입니다.
         3 x 2 = 6 입니다.
         5 x 2 = 10 입니다.
         7 x 2 = 14 입니다.
         9 x 2 = 18 입니다.

 

3. 소수점 자릿수 지정

f-string 중괄호 { } 안에서 : 구분자를 이용하고 : 구분자 오른편에. 자릿수 f를 써준다.

자릿수 뒤에 붙는 f는 실수의 f를 의미한다.

>>> float = [0.5555, 0.6666, 0.7777]
>>> for x in float :
>>>     print(f'두째자리까지 표현 {x:.2f}')
두째자리까지 표현 0.56
두째자리까지 표현 0.67
두째자리까지 표현 0.78

 

그 밖에 여러 가지 표현법은 % 서식 지정자나 format 메서드 방법을 동일하게 사용할 수 있다.

 

반응형
댓글
반응형