[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 [개발자 지망생]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
58 [python][flask] (flask) windows에서 flask와 apache 연동 file 졸리운_곰 2023.01.17 354
57 [Python][flask] Flask 로 Rest API 구현하기 - 개발환경구축 file 졸리운_곰 2022.12.24 848
56 [python][flask] bitnami의 django 서버로 flask 서비스 file 졸리운_곰 2021.12.10 592
55 [웹서버] Flask + REST API + Swagger file 졸리운_곰 2021.04.04 431
54 Python Flask 로 간단한 REST API 작성하기 file 졸리운_곰 2021.04.04 769
53 [파이썬][Flask] [번역] Flask 에서 백그라운드 작업을 처리하는 방법 file 졸리운_곰 2021.03.04 902
52 FLASK를 이용하여 PYTHON에서 PYTORCH를 REST API로 배포하기 졸리운_곰 2021.02.09 454
51 [flask 트랜드 홈페이지 개발] 10 - 다음 뉴스 키워드로 크롤링 file 졸리운_곰 2020.12.03 399
50 [python 트랜드 홈페이지개발] 9 - Flask POST file 졸리운_곰 2020.12.03 344
49 [python 트랜드 홈페이지개발] 8 - 약간의 레이아웃 설정하기 file 졸리운_곰 2020.12.03 518
48 [python 트랜드 홈페이지개발] 7 - 개요 file 졸리운_곰 2020.12.03 550
47 [python 트랜드 홈페이지개발] 6 - href 연결하기 file 졸리운_곰 2020.12.03 604
46 [python 트린드 홈페이지개발] 5 - 다른 페이지 크롤링 file 졸리운_곰 2020.12.01 506
45 [python 트린드 홈페이지개발] 4 - flask에 css 적용하기 file 졸리운_곰 2020.12.01 569
44 [python 트린드 홈페이지개발] 3 - 크롤링한 데이터 html에 보여주기 file 졸리운_곰 2020.12.01 546
43 [python 트린드 홈페이지개발] 2 - flask 프로젝트 생성, 세팅 file 졸리운_곰 2020.12.01 460
42 [python 트린드 홈페이지개발] 1 - 트렌드 홈페이지 개발 개요 file 졸리운_곰 2020.12.01 450
41 Flask 에서 CKEditor 파일첨부 연동 졸리운_곰 2020.11.26 631
40 플라스크 (Flask) - 회원가입 기능 만들기 (MVC 패턴 ) file 졸리운_곰 2020.11.26 518
39 Simple Python Flask Program with MongoDB file 졸리운_곰 2020.11.07 441
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED