포메팅
문자열 중간 중간에 특정 변수의 값을 넣어주기 위해서 사용하는 것
{인덱스0}, {인덱스1}'.format(값0, 값1)
a = 2
b = 3
s = '구구단 {0} x {1} = {2}'.format(a, b, a * b)
print(s)
{0}는 format의 첫번째 인수인 a
{1}는 두번째 인수인 b
{2}는 a * b
문자열 정렬하기
# 인덱스를 입력하지 않으면?
s4 = 'name : {}, city : {}'.format('BlockDMask', 'seoul')
print(s4)
# 인덱스 순서가 바뀌면?
s5 = 'song1 : {1}, song2 : {0}'.format('nunu nana', 'ice cream')
print(s5)
# 인덱스를 중복해서 입력하면?
s6 = 'test1 : {0}, test2 : {1}, test3 : {0}'.format('인덱스0','인덱스1')
print(s6)
# 나와라 중괄호
s7 = 'Format example. {{}}, {}'.format('test')
print(s7)
# 중괄호로 겹쳐진 인자값
s8 = 'This is value {{{0}}}'.format(1212)
print(s8)
문자열에 공백 or 공백이 아닌 값 채우기
# 왼쪽 정렬
s9 = 'this is {0:<10} | done {1:<5} |'.format('left', 'a')
print(s9)
# 오른쪽 정렬
s10 = 'this is {0:>10} | done {1:>5} |'.format('right', 'b')
print(s10)
# 가운데 정렬
s11 = 'this is {0:^10} | done {1:^5} |'.format('center', 'c')
print(s11)
s9, s10, s11 을 보면 딱 좌 우 가운데 정렬이 되고 나머지 빈 칸은 공백으로 처리 되는 것을 볼 수 있습니다.
왼쪽 정렬에는 기호 < 를 사용하고, 오른쪽 정렬에는 >, 가운데 정렬에는 ^를 사용합니다.
기호 뒤에 나오는 숫자는 자릿수를 말합니다.
즉 아래와 같습니다.
{0:<10} 이 뜻하는 것은 {0} 값을 ":<10" 10자리로 표현할건데 왼쪽 정렬을 할 것이다. 라는 뜻 이고
{1:>5} 가 뜻하는 것은 {1} 값을 ":>5" 5자리로 표현할건데 오른쪽 정렬을 할 것이다. 입니다.
# 왼쪽 정렬
s12 = 'this is {0:-<10} | done {1:o<5} |'.format('left', 'a')
print(s12)
# 오른쪽 정렬
s13 = 'this is {0:+>10} | done {1:0>5} |'.format('right', 'b')
print(s13)
# 가운데 정렬
s14 = 'this is {0:.^10} | done {1:@^5} |'.format('center', 'c')
print(s14)
자리수와 소수점 표현하기
# 정수 N자리
s15 = '정수 3자리 : {0:03d}, {1:03d}'.format(12345, 12)
print(s15)
# 소수점 N자리
s16 = '아래 2자리 : {0:0.2f}, 아래 5자리 : {1:0.5f}'.format(123.1234567, 3.14)
print(s16)
# 구구단 표시 (2단과 3단만 표시)
for a in range(2, 4): # 앞에 표시하는 단 수 (2단, 3단)
for b in range(1, 10): # 뒤에 곱하는 수
print('{0} x {1} = {2:2}'.format(a, b, a*b))
'IT 공부 > python' 카테고리의 다른 글
[ python ] 사주사용되는 함수/라이브러리 정리 (0) | 2020.12.07 |
---|---|
[ python ] 예외 처리 raise (0) | 2020.11.29 |
[ python ] random 모듈 사용해서 난수 만들기 (0) | 2020.11.20 |
[ python ] zfill() 문자열 앞에 0 자리수를 채워주고 싶을 때 (0) | 2020.11.20 |
[ python ] list 에서 value 값으로 다중 index 찾기 (0) | 2020.11.18 |