티스토리 뷰
python3에는 이미 %-formatting 과 str.format( )이 있었다.
그런데 둘 모두 스트링 끝에 치환해야할 값을 따로 열거하는 방식(C-style)이다보니,
치환해야할 값이 많아지면 가독성이 떨어지고 매칭할 개수를 실수할 여지가 많았다.
치환해야할 자리에 바로 변수를 입력하는 방식이 적용된 것이 f-string 이다.
1. 형식
스트링 앞에 'f' 또는 'F'를 붙이고 치환되어야 할 자리를 {variable_name} 으로 하면 된다.
조금 더 게을러져 보자. 위의 예에서 name 값 앞에 '이름 : ' 을 붙이는 것도 귀찮다면
{ } 안에서 변수명 뒤에 '='를 사용하면 변수명을 문자로 출력하고 값도 출력해주는 기특한 짓을 한다.
2. 제한
(1) f-string 의 치환 영역 { } 은 공백을 허용하지 않는다.
(2) 백 슬래시를 사용하여 이스케이프 시킬 수 없다.
쓰다보니 드는 생각인데 별로 중요하지 않은 것 같으니 넘어가자.
3. 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
- math font
- RUBY
- stack
- JavaScript
- 백준
- shell
- BOJ
- Dijkstra
- max flow
- Aho-Corasick
- script
- 세그먼트 트리
- segment tree
- 정수론
- map
- number theory
- bash script
- bash
- 다익스트라
- C++ big number
- fenwick tree
- nearest common ancestor
- lazy propagation
- python3
- dynamic programming
- Reference
- Vim
- Shell Programming
- javascript array
- persistent segment tree
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |