22. 메소드 기반 문자열 조합
기본적 사용 방법
fs = '{0}...{1}...{2}'
ms = fs.format('Robot', 125, 'Box')
'{2}...{1}...{0}'.format('Robot', 125, 'Box')
'{}...{}...{}'.format('Robot', 125, 'Box')
'{toy}...{num}...{item}'.format(toy = 'Robot', num = 125, item = 'Box')
인덱싱 연산을 추가하여
my = ['Robot', 125, 'Box']
'{0}...{1}...{2}'.format(*my)
my = ['Robot', (24, 31)]
'{0[0]}...{0[1]}...{1[0]}...{1[1]}'.format(*my)
# B..0..24..31
d = {'toy': 'Robot', 'price': 3500}
'toy = {0[toy]}, price = {0[price]}'.format(d)
보다 세밀한 문자열 구성 지정
'{0}'.format(3.14) # '3.14'
'{0:f}'.format(3.14) # '3.140000'
'{0:d}'.format(3) # '3'
'{0:f}'.format(3.1) # '3.100000'
'%f' % 3.14 # '3.140000'
'{0:f}'.format(3.14) # '3.140000'
'%.4f' % 3.14 # '3.1400'
'{0:.4f}'.format(3.14) # '3.1400'
'%9.4f' % 3.14 # ' 3.1400'
'{0:9.4f}'.format(3.14) # ' 3.1400'
'{0:<10.4f}'.format(3.14) # 왼쪽 정렬
'{0:>10.4f}'.format(3.14) # 오른쪽 정렬
'{0:^10.4f}'.format(3.14) # 중앙 정렬
'%+d, %+d' % (5, -5) # '+5, -5'
'{0:+d}, {1:+d}'.format(5, -5) # '+5, -5'
'{0:+}, {1:+}'.format(5, -5) # '+5, -5'
'{:+}, {:+}'.format(5, -5) # '+5, -5'
'{0:*^10.4f}'.format(3.14) # '**3.1400**'
'{0:+<10}'.format(7) # '7+++++++++'
'{0:^^10}'.format('hi') # '^^^^hi^^^^'
- format 메소드 기반 문자열 조합을 사용하는 편이 낫다
- 더 직관적이고 다양하게 옵션을 지정할 수 있다
- 메소드 호출 방식이다 보니, 코드를 유연하게 작성할 수 있는 장점이 있다(ex. unpacking)
'프로그래머 > Python' 카테고리의 다른 글
[윤성우의 열혈 파이썬 중급편] 24. 상속 (0) | 2020.12.24 |
---|---|
[윤성우의 열혈 파이썬 중급편] 23. 클래스와 객체의 본질 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 21. 표현식 기반 문자열 조합 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 20. enumerate와 문자열 비교 (0) | 2020.12.24 |
[윤성우의 열혈 파이썬 중급편] 19. 정렬 기술 (0) | 2020.12.24 |