[python] 파이썬 f-string (파이썬 스트링 앞에 f')

안녕하세요. BlockDMask 입니다.
오늘은 파이썬 문자열 포매팅 방법 % 서식문자, str.format, f-string 이 세개 중 마지막인 f-string에 대해서 알아보려고 합니다.

% 서식문자 [바로가기]
str.format [바로가기]

그럼 문자열 포매팅 마지막 시간 f-string을 시작해보겠습니다.

 

<목차>
1. 파이썬 f 문자열 포매팅
2. 파이썬 f 문자열 예제

 

1. 파이썬 f-string 포매팅이란?


string formatting - 문자열 포매팅이란

우리가 문자열에서 특정 부분만 바꾸고 나머지 부분은 일정하다고 할때, 문자열 포매팅을 이용해서 이쁘게 출력 할 수 있습니다.

예를들어 달력이라고 했을때
print(2020년 1월)
print(2020년 2월)
print(2020년 3월)
...
print(2020년 11월)
print(2020년 12월)

이런식으로 하나하나 작성해서 진행할 수 도 있지만 문자열 포매팅을 이용하면
month = 1
while month <= 12:
    print(f'2020년 {month}월')
    month = month + 1

이라는 코드를 통해서 손쉽게 1월부터 12월을 출력할 수 있습니다. 변해야하는 값이 있는 위치를 포매팅 할 위치로 잡아서 설정만하면 손쉽게 이쁘게 원하는 데로 문자열 출력이 가능합니다.    

 

f-string 이란?

f-string 포매팅은 파이썬 버전 3.6 부터 사용할 수 있는 따끈따끈한 기능 입니다.
이전에 언급했던, %포매팅과 str.format 방법보다 더 최근에 나온 것 입니다.

f-string의 모양은 f와 {}만 알면 됩니다. 문자열 맨 앞에 f를 붙여주고, 중괄호 안에 직접 변수 이름이나 출력하고 싶은것을 바로 넣으면 됩니다.
f'문자열 {변수} 문자열'
이런 모양인데 코드로 한번 보시죠.

 

1
2
3
4
5
6
# 문자열 맨 앞에 f를 붙이고, 출력할 변수, 값을 중괄호 안에 넣습니다.
= 'coffee'
= 5
result1 = f'저는 {s}를 좋아합니다. 하루 {n}잔 마셔요.'
print(result1)
 
cs

 

이런식으로 문자열 맨 앞에 f를 붙이고 중괄호 안에 변수 이름, 값을 넣으면 됩니다.
다시 정리하자면 f-string
1. 문자열 맨 앞에(따옴표앞) f를 붙인다.
2. 사용하고 싶은 변수, 값을 중괄호 안에 넣는다.
3. 이쁘게 출력한다.

 

2. 파이썬 f-string 예제


2-1) f-string과 왼쪽 정렬, 오른쪽 정렬, 가운데 정렬

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
py# f-string 왼쪽 정렬
s1 = 'left'
result1 = f'|{s1:<10}|'
print(result1)
 
# f-string 가운데 정렬
s2 = 'mid'
result2 = f'|{s2:^10}|'
print(result2)
 
# f-string 오른쪽 정렬
s3 = 'right'
result3 = f'|{s3:>10}|'
print(result3)
cs

 

결과

 

위 코드에서 보이듯이 중괄호 {}안에 있는 변수 뒤에 콜론(:)을 붙인 후 왼쪽 정렬 (<), 오른쪽 정렬(>), 가운데 정렬(^)의 옵션을 넣어줍니다. 그 후에 자릿수를 알려주는 숫자 를 넣어주면 정렬 옵션을 사용할 수 있습니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

2-2) f-string에서 중괄호 출력 방법

 

1
2
3
4
# f-string 중괄호 출력
num = 10
result = f'my age {{{num}}}, {{num}}'
print(result)
cs

 

결과

이렇게 {{ }} 괄호를 연속해서 두개를 사용하면 중괄호 자체를 출력 할 수 있습니다.
그럼 이상황에서 f 스트링의 값과 중괄호 까지 같이 표현하려면 {{{, }}} 이렇게 중괄호를 세개 입력하면 num을 변수 값으로 인식할 수 있습니다.

 

 

2-3) f-string과 딕셔너리

 

1
2
3
4
# f-string과 딕셔너리
= {'name''BlockDMask''gender''man''age'100}
result = f'my name {d["name"]}, gender {d["gender"]}, age {d["age"]}'
print(result)
cs

 

결과

 

딕셔너리와  f문자열 포맷을 함께 이용하기 위해서는 중괄호 안에서 딕셔너리를 호출해주면 됩니다.

 

 

2-4) f-string과 리스트

 

1
2
3
4
5
6
7
8
9
# f-string과 리스트
= [100200300]
 
print(f'list : {n[0]}, {n[1]}, {n[2]}')
 
 
for v in n:
    print(f'list with for : {v}')
 
cs

 

결과

평소 리스트에 접근 한 방법과 동일하게 {} 중괄호 안에 리스트 접근을 사용하면 됩니다.

이상으로 파이썬 f-string 문자열 포맷에 대해서 알아보았습니다. 감사합니다.



출처: https://blockdmask.tistory.com/429 [개발자 지망생]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
371 [python][image processing][파이썬][이미지프로세싱] 파이썬 영상 처리 (OpenCV) file 졸리운_곰 2021.11.12 29
370 [python] Python Console Input & Output Tutorial 졸리운_곰 2021.11.06 20
369 [Python 데이터분석] [pandas] 공공데이터(csv) 활용시 한글 깨짐 현상 해결 file 졸리운_곰 2021.09.30 13
368 [Python 데이터분석] 공공데이터포털::공휴일 데이터 조회 (REST API) file 졸리운_곰 2021.09.30 54
367 [Python 데이터 분석] pandas의 to_csv()를 사용해서 csv 파일로 저장하기(save 하기) 졸리운_곰 2021.09.29 16
366 [Python 데이터 분석] 데이터 과학을 단순하게 만드는 3가지 Python 패키지 file 졸리운_곰 2021.09.24 48
365 [Python][Dash] DASH PLOTLY 설치부터 튜토리얼까지 졸리운_곰 2021.09.11 68
364 python - 국가공휴일 데이터 가져오기 (data.go.kr) file 졸리운_곰 2021.09.05 34
363 [python][web] Separate Front-end from Back-end with Flask+AJAX file 졸리운_곰 2021.08.13 11
362 [python][파이썬 조건문(if-elif-else)] 졸리운_곰 2021.07.24 26
361 [python] 파이썬 for 문 졸리운_곰 2021.07.24 19
360 [python][파이썬 기초] 48 파이썬으로 파일 만들기 졸리운_곰 2021.07.24 30
359 [Python] UnicodeEncodeError: 'ascii' codec can't encode file 졸리운_곰 2021.07.24 36
358 [python] *args 와 **kwargs 사용하기 - 슬기로운 파이썬 트릭 中 file 졸리운_곰 2021.07.24 39
357 [python] *args 와 **kwargs 졸리운_곰 2021.07.24 18
» [python] 파이썬 f-string (파이썬 스트링 앞에 f') file 졸리운_곰 2021.07.17 42
355 [Python] 파이썬으로 복리 계산하기 file 졸리운_곰 2021.07.17 45
354 [python, 파이썬] 연습 문제: 복리 이자 계산 졸리운_곰 2021.07.17 599
353 python - 읽은 후 kafka 메시지를 삭제하는 방법 졸리운_곰 2021.07.13 324
352 [scrapy] https://pypi.org/project/scrapy-save-as-pdf/ 졸리운_곰 2021.07.03 75
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED