문자열에 대해 format() 함수를 사용하여 다양한 변형을 적용해줄 수 있다.
'{ }'.format( )에서 {}에 들어갈 수 있는 다양한 옵션들과 문법은 아래의 링크에서 확인할 수 있다.
https://docs.python.org/ko/3/library/string.html#format-string-syntax
주요 특징들 정리
* '{ } { }'.format(a, b) 는 '{0} {1}'.format(a, b)과 동일하다.
* 포맷팅 중괄호 안에서 변수의 인자(인덱싱) 선택이 가능하다.
print("\n{1}의 소속사는 {0}이며 {2}라는 히트곡이 있습니다.".format("하이브", "세븐틴", "아주 NICE!"))
# Output
# 세븐틴의 소속사는 하이브이며 아주 NICE!라는 히트곡이 있습니다.
# 공식문서 예제
"First, thou shalt count to {0}" # References first positional argument
"Bring me a {}" # Implicitly references the first positional argument
"From {} to {}" # Same as "From {0} to {1}"
"My quest is {name}" # References keyword argument 'name'
"Weight in tons {0.weight}" # 'weight' attribute of first positional arg
"Units destroyed: {players[0]}" # First element of keyword argument 'players'.
* { } 중괄호 안에 중괄호를 표현해야할 때, {{ }}로 중복해서 사용하면 된다.
* 중괄호 안에 변수를 넣어야 할 때는 {{{ }}} 세번 중복하여 사용해야 한다.
print("내 이름은 {}입니다.".format("홍길동"))
# Output : 내 이름은 홍길동입니다.
print("\n내 이름은 {{0}}입니다.".format("홍길동"))
# Output : 내 이름은 {0}입니다.
print("\n내 이름은 {{{}}}입니다.".format("홍길동"))
# Output : 내 이름은 {홍길동}입니다.
* 기존의 % 포맷팅과 유사한 기능으로 { }안에서 : 이 대신 사용된다. (f'{var}'에서도 가능)
* 정수 표현
: ' b '는 이진 형식, ' c '는 문자열, ' d '는 십진 정수, ' o '는 8진법 정수, ' x '는 16진법 정수
'{:3.2f}'.format(3.14) # '3.14'
'{:3.2f}'.format(3.14234) # '3.14'
# f는 float라는 의미
# 총 3자리 중에서 2자리가 소숫점 자리라는 의미
* 정렬 옵션
: ' > ' 는 우측 정렬, ' < '는 좌측 정렬, ' ^ '는 중앙정렬, ' = '는 정수일 경우 정수앞의 빈 위치에 0을 넣어 주는 옵션
a = 123456
b = 7890
print("{:>15,d}".format(a))
print("x{:>14,d}".format(b))
print("-"*15)
print("{:>15,d}".format(a*b))
# Output
123,456
x 7,890
---------------
974,067,840
'Programming > python' 카테고리의 다른 글
프로그래머스 연습 문제 > 정렬 > 가장 큰 수 (0) | 2023.07.15 |
---|---|
[파이썬 기초] 문자열(string) 앞뒤로 원하는 문자 붙이기 (0) | 2023.05.11 |
[파이썬 기초] 파이썬 행렬의 덧셈 - 프로그래머스 Lv1 문제 풀이 | zip, tuple unpacking (0) | 2023.04.29 |
[파이썬 기초] 파이썬 자료형의 모든 것! (1) | 2023.03.14 |
[파이썬 기초] 문자열 연산의 모든 것! (0) | 2023.03.14 |