티스토리 뷰

 

python3에는 이미 %-formatting 과 str.format( )이 있었다.

그런데 둘 모두 스트링 끝에 치환해야할 값을 따로 열거하는 방식(C-style)이다보니,

치환해야할 값이 많아지면 가독성이 떨어지고 매칭할 개수를 실수할 여지가 많았다.

 

치환해야할 자리에 바로 변수를 입력하는 방식이 적용된 것이 f-string 이다.

 

1. 형식

스트링 앞에 'f' 또는 'F'를 붙이고 치환되어야 할 자리를 {variable_name} 으로 하면 된다.

f-string 예시

조금 더 게을러져 보자. 위의 예에서 name 값 앞에 '이름 : ' 을 붙이는 것도 귀찮다면

= 사용법

{ } 안에서 변수명 뒤에 '='를 사용하면 변수명을 문자로 출력하고 값도 출력해주는 기특한 짓을 한다.

 

2. 제한

(1) f-string 의 치환 영역 { } 은 공백을 허용하지 않는다.

(2) 백 슬래시를 사용하여 이스케이프 시킬 수 없다.

쓰다보니 드는 생각인데  별로 중요하지 않은 것 같으니 넘어가자.

 

3.  format specifier

앞서 사용한 코드에 변경을 가해보자.  콜론(:) 다음에 오는 것들은 문자열을 어떻게 출력할 것이냐를 지시해주는 format-specifier 이다. 예를 보면서 공부하자!

format specifier

 

음 지시자를 모두 다 열거하면 상당히 많다. 진실은 다음과 같은데 다 기억하려고 하지는 말자.

:[[<fill>]<align>][<sign>][#][0][<width>][<group>][.<prec>][<type>]

색칠된 세 부분을 기억하고 나머지는 필요할 때 공부하면 족하다.

 

(1) 정렬(align) 

노란색으로 표시된 부분에서 align에 들어갈 것은 '<' 또는  '^' 또는 '>' 이다. ('=' 있지만 모른체 한다.) 

각각 '왼쪽' , '중앙', '오른쪽' 정렬을 의미한다.

그리고 '<' 또는  '^' 또는 '>' 가 있을 때 그 앞에 정렬을 하면서 남는 공간을 채울 문자를 선택할 수 있다.

위의 예에서는 '*', '#' 를 사용했다. 

💡  '<' , '^' , '>' 의 정렬을 위한 문자가 없으면 채워 넣는 문자는 올 수가 없다.

특히 '#'는 다른 의미를 가지게 되므로 주의할 것!

 

(2) 출력 폭

width 에 해당되는 부분. 출력의 폭(문자의 개수)를 지정한다.

 

(3) 정밀도

소수점 이하의 자릿수를 지정한다. 이 자릿수는 전체 출력 폭에 포함된다.

폭과 정밀도

 

-----

 

딱히 더 기억나는게 없는 걸 보면 이 정도면 쓰는데 문제는 없을 것 같다. 여기서 끝낸다.

반응형

'Programming Language > Python3 and Ruby' 카테고리의 다른 글

Python3 와 Ruby 기초 (2)  (0) 2022.08.09
Python3 와 Ruby 기초 (1)  (0) 2022.08.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함