format 함수에 대해서
포메팅이란?
문자열 포메팅이란 문자열을 이쁘게 만드는 방법이다, 쉽게 얘기하면 문자열 중간 중간에 특정 변수의 값을 넣어주기 위해서 사용하는 것이다. 예를 들어 구구단 프로그램을 만든다고 가정하면 a b가 변수일 때
print('{0} x {1} = 6'.format(a, b, a * b))
사용법)
format 함수는 중괄호 {, } 안에 포메팅을 지정하고 fomat 함수의 인자로 값들을 넣는다.
'{인덱스0}, {인덱스1}'.format(값0, 값1)
구구단 예제)
a = 2
b = 3
s = '구구단 {0} x {1} = {2}'.format(a, b, a * b)
print(s)
함수 예제
직접 대입, 변수로 대입, 이름으로 대입
# 직접 대입하기
s1 = 'name : {0}'.format('BlockDMask')
print(s1)
# 변수로 대입 하기
age = 55
s2 = 'age : {0}'.format(age)
print(s2)
# 이름으로 대입하기
s3 = 'number : {num}, gender : {gen}'.format(num=1234, gen='남')
print(s3)
format 문자열의 중괄호 인덱스
# 인덱스를 입력하지 않으면?
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)
format 함수를 사용할 때 중괄호가 나오게 하려면
# 나와라 중괄호
s7 = 'Format example. {{}}, {}'.format('test')
print(s7)
# 중괄호로 겹쳐진 인자값
s8 = 'This is value {{{0}}}'.format(1212)
print(s8)
문자열 정렬
# 왼쪽 정렬
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)
문자열에 공백이 아닌 값 채우기
# 왼쪽 정렬
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))
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] f-string (문자열 포메팅 방법 3) (0) | 2024.10.08 |
---|---|
[Python] % 서식 기호 (문자열 포메딩 방법 2) (0) | 2024.10.08 |
[Python] 람다식 (무명 함수) 모듈 (0) | 2024.10.04 |
[Python] capitalize(), title() 함수 비교 (0) | 2024.08.26 |
[Python] 문자열 함수 모음 (0) | 2024.08.26 |