Language/PYTHON
문자열 함수 (1) format () 함수
구일일구
2021. 6. 8. 17:41
반응형
함수 function
사람 또는 사물의 기능
문자열의 format() 함수
- 중괄호 {}를 포함한 문자열 뒤에 마침표를 찍고 format()함수 사용
- 중괄호의 개수와 format 함수 괄호 안 매개변수의 개수는 반드시 같아야 함
<format()함수로 숫자를 문자열로 변환하기>
# format()함수로 숫자를 문자열로 변환하기
string_a = "{}".format(10)
# 출력하기
print(string_a)
print(type(string_a))
</>
10
<class 'str'>
- 숫자 10의 자료형은 문자열이 되었고, stiring_a에는 문자열 10이 들어있음
- format이라는 함수는 {} 기호를 format의 괄호 안에 있는 매개 변수로 대체하는 것
- {}기호 앞뒤, 사이에 다양한 문자열을 넣을 수 있음
<format() 함수의 다양한 형태>
# format() 함수로 숫자를 문자열로 변환하기
format_a = "{}만 원".format(5000)
format_b = "파이썬 열공하여 첫 연봉 {}만 원 만들기".format(5000)
format_c = "{} {} {}".format(3000, 4000, 5000)
format_d = "{} {} {}".format(1, "문자열", True)
#출력하기
print(format_a)
print(format_b)
print(format_c)
print(format_d)
</>
5000만 원
파이썬 열공하여 첫 연봉 5000만 원 만들기
3000 4000 5000
1 문자열 True
- {} 기호 양쪽에 다른 문자열을 같이 넣은 형태
- {} 기호와 매개변수를 여러 개 넣은 형태
IndexError 예외
- {} 기호의 개수가 format()함수의 매개변수 개수보다 많으면 IndexError 예외가 발생
- 그러나 {} 기호의 개수가 format()함수의 매개변수보다 적으면 문제 없이 실행
format() 함수의 다양한 기능
(1) 정수 출력의 다양한 형태
- {:d} 는 int 자료형의 정수를 출력하겠다고 직접적으로 지정하는 것. 따라서 {:d}를 사용했을 때는 매개변수로 정수만 가능
- {:5d}는 5칸을 잡고 뒤에서부터 52라는 숫자를 채움
- {:10d}는 10칸을 잡고 뒤에서부터 52라는 숫자를 채움
- {:05d}는 5칸을 잡고 뒤에서부터 52 혹은 -52라는 숫자를 넣은 후, 앞의 빈 곳을 0으로 채움
- {:+d}는 앞에 +기호를 추가하면 양수의 경우 +를 붙여줌. 그러나 음수는 그대로 -표시로 나옴
- {: d}는 앞에 공백을 두면 양수의 경우 기호 위치를 공백으로 비워줌. 그러나 음수는 그대로 -표시
- {:=+5d}는 기호를 제일 먼저 쓰고 뒤에 5칸을 띈 다음 숫자를 표시. 양수라면 + 52, 음수면 - 52 이런식으로 나옴
- {:+05d}는 +를 쓰고 빈칸에 0을 채움. 음수의 경우도 마찬가지
# 정수
output_a = "{:d}".format(52)
# 특정 칸에 출력하기
output_b = "{:5d}".format(52) #5칸
output_c = "{:10d}".format(52) #10칸
# 빈칸을 0으로 채우기
output_d = "{:05d}".format(52) #양수
output_e = "{:05d}".format(-52) #음수
print(output_a)
print(output_b)
print(output_c)
print(output_d)
print(output_e)
</>
52
52
52
00052
-0052
# 기호와 함께 출력하기
output_f = "{:+d}".format(52)
output_g = "{:+d}".format(-52)
output_h = "{: d}".format(52)
output_i = "{: d}".format(-52)
print(output_f)
print(output_g)
print(output_h)
print(output_i)
</>
+52
-52
52
-52
(2) 실수 출력의 다양한 형태
- {:f}는 float 자료형 출력을 강제로 지정하는 것. {:f} 뒤에는 소수점이 있는 실수만 나올 수 있음
- {:15f}는 숫자 앞에 15칸 만들기
- {:+15f}는 숫자 앞에 +혹은 - 부호 추가하고 15칸 만들기
- {:+015f}는 숫자 앞에 부호 추가, 15칸 만들고 0으로 채움
- {:15.3f}와 {:15.2f} 같은 것 : 15칸을 잡고 소수점을 각각 3자리, 2자리...로 출력. 이때 자동으로 반올림도 일어남
- {:.1f} 소수 첫째 자리까지 표시
- {:3.f] 소수 셋째 자리까지 표시
output_h = "{:f}".format(52.273)
output_i = "{:15f}".format(52.273)
output_j = "{:+15f}".format(52.273)
output_k = "{:+015f}".format(52.273)
output_l = "{:15.3f}".format(52.273)
output_m = "{:15.1f}".format(52.273)
print(output_h)
print(output_i)
print(output_j)
print(output_k)
print(output_l)
print(output_m)
</>
52.273000
52.273000
+52.273000
+0000052.273000
52.273
52.3
(3) 의미 없는 소수점 제거하기
- 파이썬은 0과 0.0을 출력할 때 자료형이 다르므로 서로 다른 값으로 출력.
- 그런데 의미 없는 0을 제거한 후 출력하고 싶을 때, {:g}를 사용
#의미 없는 소수점 제거하기
output_a = 52.0
output_b = "{:g}".format(output_a)
print(output_a)
print(output_b)
</>
52.0
52
반응형