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
반응형