Notice
Recent Posts
Recent Comments
Link
just inside
[python] 문자열 포매팅 본문
728x90
문자열 포매팅이란?
- 변수의 값을 형식을 지정하여 출력
- % 기호를 사용한 형식 지정자를 이용해서 표현
- 포맷 코드
코드 | 설명 |
%s | 문자열 (string) |
%c | 문자 1개(character) |
%d | 정수 (interger) |
%f | 부동 소수 (floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | literal % (문자 % 자체) |
%s 는 어떤 Type의 값이든 문자형으로 변환하여 넣을 수 있다.
변수의 값을 형식을 지정하여 출력 | |
print("%d" %n) | 변수 n의 값을 10진수 형식으로 출력, d는 dicmal(십진의)을 의미 |
print("%f" %f) | 변수 f의 값을 실수 형식으로 출력 |
print("%.2f" %f) | 변수 f의 값을 소수점 이하 셋째 자리에서 반올림하여 둘째 자리까지 출력 |
# example
# 1. 숫자 바로 대입 : %d
>>> "I eat %d apples." % 3
'I eat 3 apples.'
# 2. 문자열 바로 대입 : %s
>>> "I eat %s apples." % "five"
'I eat five apples.'
# 3. 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
# 4. 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for 10 days.'
# 5. %%
>>> "Errors is %d%%." % 98
'Error is 98%.'
포맷 코드와 숫자 함께 사용하기
1. 정렬과 공백
- 오른쪽 정렬 : %[전체길이]s
- 왼쪽 정렬 : %-[전체길이]s
# 오른쪽 정렬
>>> "%10s" % "hi"
' hi'
# 왼쪽 정렬
>>> "%-10sjane" % "hi"
'hi jane'
2. 소수점 표현하기
- %0.4f 에서 '.'는 소수점 포인트, 그 뒤의 숫자 4는 소수점 뒤에 나올 숫자의 개수
- %0.4f 는 0을 생략하여 %.4f 처럼 사용 가능
- %10.4f" % 3.42134234 : 전체 10자리 중 소수 이하 4자리 까지만 출력
# 소수점 뒤 4자리
>>> "0.4f" % 3.42134234
'3.4213'
# 소수점 뒤 4자리까지 표시, 전체 길이 10인 문자열 오른쪽 정렬
>>> "%10.4f" % 3.42134234
' 3.4213'
format 함수를 사용한 포매팅
- 문자열의 format 함수를 사용하면 좀 더 발전된 스타일로 문자열 포맷 지정 가능
- {0}, {1} ... 기호의 자리에 format() 함수에서 전달하는 값을 포함
# 숫자 바로 대입하기
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
# 문자 바로 대입하기
>>> "I eat {0} apples".format("five")
'I eat five apples'
# 숫자 값을 가진 변수로 대입하기
>>> number = 3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
# 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
# 이름으로 넣기
>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
# 인덱스와 이름을 혼용해서 넣기
>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
# 왼쪽 정렬
>>> "{0:<10}".format("hi")
'hi '
# 오른쪽 정렬
>>> "{0:>10}".format("hi")
' hi'
# 가운데 정렬
>>> "{0:^10}".format("hi")
' hi '
# 공백 채우기
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
# 소수점 표현하기
>>> y = 3.42134234
>>> "{0.:0.4f}".format(y)
'3.4213'
>>> "{0.10.4f}".format(y)
' 3.4213'
# { 또는 } 문자 표현하기
>>> "{{ and }}".format()
'{ and }'
f 문자열 포매팅
- 파이썬 3.6 이상에서 지원
- 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용할 수 있음
# f 문자열 포매팅
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
>>> age = 30
>>> f'나는 내년이면 {age + 1}살이 된다.'
'나는 내년이면 31살이 된다.'
# 딕셔너리 사용
>>> d = {'name':'홍길동', 'age':30}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
# 정렬
>>> f'{"hi":<10}' # 왼쪽 정렬
'hi '
>>> f'{"hi":>10}' # 오른쪽 정렬
' hi'
>>> f'{"hi":^10}' # 가운데 정렬
' hi '
# 공백 채우기
>>> f'{"hi":=^10}' # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
>>> f'{"hi":!<10}' # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'
# 소수점 표현
>>> y = 3.42134234
>>> f'{y:0.4f}' # 소수점 4자리까지만 표현
'3.4213'
>>> f'{y:10.4f}' # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
' 3.4213'
# {} 문자로 사용
>>> f'{{ and }}'
'{ and }'
728x90
'LG U+ Why Not SW camp > python' 카테고리의 다른 글
[python] set (집합) 자료형 (0) | 2024.08.01 |
---|---|
[python] 문자열 함수 정리 (0) | 2024.07.17 |
[python] 파일 읽고 쓰기 (0) | 2024.07.12 |
[python] 딕셔너리 자료형 (0) | 2024.07.10 |