• 회원가입
  • 로그인
  • 구글아이디로 로그인

[string] Python - format() 메서드 ★★ - 포맷된 문자열 삽입. (= format메서드 = 포맷) ※ 숫자 자릿수

2753  
format() 예제 - 소수점 2자리까지 표현.

 

txt = "{price:.2f} 달러."

print(txt.format(price = 43))

 

결과보기: 43.00 달러.

 

format() 정의

 

문자열 안 지정 값을 포맷 후, 해당 Placeholder(자료표시자)에 넣음.

※ Placeholder는 중괄호 {} 사용해 표현. (※ 아래 설명서 참고)

※ format() 메서드는 형식 변경된 문자열을 반환.

 


cf.

format_map() 메서드

 

 

format() 구문

 

string.format(value1, value2...)

 


[매개변수]

 

value1, value2...

필수. 형식 변경되어 자리표시자에 들어가야 할 값들.

 

※ value는 제거할 요소의 위치를 지정하는 숫자일 수 있음.

 

※ value 유형 종류.

① 쉼표로 구분된 값 목록

② key = value 목록

③ 위 두 방법의 조합.

 

※ value는 모든 데이터 유형 가능.

 

 

Placeholder (자리표시자)

 

자리표시자는 {} 안에 '이름' , '숫자' , '빈 공백' 넣어 표시.

(예) {name}, {0}, {}

 


[예제]

 

hz1 = "{site}, {host}".format(site = "홈짱닷컴", host = "Homzzang.com")

hz2 = "{0}, {1}".format("홈짱닷컴","Homzzang.com")

hz3 = "{}, {}".format("홈짱닷컴","Homzzang.com")


print(hz1) # 홈짱닷컴, Homzzang.com

print(hz2) # 홈짱닷컴, Homzzang.com

print(hz3) # 홈짱닷컴, Homzzang.com

 


format() 타입

:<   :  왼쪽 정렬 (사용 가능한 공간 내)

 

# 값 자리를 8자리 설정 후, 왼쪽 정렬.

hz = "홈짱닷컴 Homzzang.com {:<8} 오픈."

print(hz.format(2012))

 

결과값: 홈짱닷컴 Homzzang.com 2012     오픈.


:>   :  오른쪽 정렬 (사용 가능한 공간 내)

 

# 값 자리를 8자리 설정 후, 오른쪽 정렬.

hz = "홈짱닷컴 Homzzang.com {:>8} 오픈."

print(hz.format(2012))

 

결과값: 홈짱닷컴 Homzzang.com     2012 오픈.


:^   :  가운데 정렬 (사용 가능한 공간 내).

 

# 값 자리를 8자리 설정 후, 가운데 정렬.

hz = "홈짱닷컴 Homzzang.com {:^8} 오픈."

print(hz.format(2012))

 

결과값: 홈짱닷컴 Homzzang.com   2012   오픈.


:=   :  기호를 가장 왼쪽에 배치.

 

# 값 자리를 8자리 설정 후, 부호를 가장 왼쪽에 배치.

txt = "현재 온도: {:=8} 도"

print(txt.format(-5))

 

결과값: 현재 온도: -      5 도.


:+  :  양수에 + 기호 추가.

 

txt = "가능값: {:+} ~ {:+}"

print(txt.format(-3, 4))

 

결과값: 가능값: -3 ~ +4


:-   :  음수만 - 기호 표시. (※ 양수에 + 기호 사용 X)

 

txt = "가능값: {:-} ~ {:-}"

print(txt.format(-3, 4))

 

결과값: 가능값: -3 ~ 4


:    :  양수는 앞에 공백 삽입. (※ 음수는 - 기호 삽입.)

txt = "가능값: {: } ~ {: }"

print(txt.format(-3, 4))

 

결과값: 가능값: -3 ~  4


:,    :  쉼표로 천 단위 구분. ★

 

txt = "수입: {:,} 원"

print(txt.format(1000000))

 

결과값: 수입: 1,000,000 원


: _  :  천 단위 구분 기호로 밑줄 사용.

 

txt = "수입: {:_} 원"

print(txt.format(1000000))

 

결과값: 수입: 1_000_000 원


:b   :  바이너리 형식

 

txt = "십진수 {0} = 이진수 {0:b}"

print(txt.format(5))

 

결과값: 십진수 5 = 이진수 101


:c   :  값을 해당 유니코드 문자로 변환.

 

예제 준비 중.

 


:d   :  10 진수 형식

 

# 이진수 5를 십진수로 변환.

txt = "이진수 101 = 십진수 {:d}"

print(txt.format(0b101))

 

결과값: 이진수 101 = 십진수 5


:e   :  소문자 e 사용 과학적 표기법.

 

txt = "5 지수표기법: {:e}"

print(txt.format(5))

 

결과값: 5 과학표기법: 5.000000e+00


:E  :  대문자 E 사용 과학적 표기법.

 

txt = "숫자 5의 과학표기법: {:E}"

print(txt.format(5))

 

결과값: 숫자 5의 과학표기법: 5.000000E+00


:f    :  소수점 표시. (소문자 inf, nan 사용.) ※ 기본: 6자리

 

# 소수점 2자리

txt = "{:.2f}"

print(txt.format(34)) # 34.00

 

# 소수점 6자리 (기본값 사용)

txt = "{:f}"

print(txt.format(34)) # 34.000000

 

# 소수점 포함 전체 10자리인데, 그 중 소수점은 3자리 차지.

n = 12.34

print("{:10.3f}".format(n)) #     12.340

 

# 소문자 inf (무한대 = 1/0)

x = float('inf')

txt = "{:f}"

print(txt.format(x)) # inf

 


:F  :  소수점 표시. (대문자 INF, NAN 사용.) ※ 기본: 6자리

 

# 소수점 2자리

txt = "{:.2F}"

print(txt.format(34)) # 34.00

 

# 소수점 6자리 (기본값 사용)

txt = "{:F}"

print(txt.format(34)) # 34.000000

 

# 소수점 포함 전체 10자리인데, 그 중 소수점은 3자리 차지.

n = 12.34

print("{:10.3F}".format(n)) #     12.340

 

# 대문자 INF (무한대 = 1/0)

x = float('inf')

txt = "{:F}"

print(txt.format(x)) # INF

 


:g   :  일반 형식

 

예제 준비 중.

 


:G  :  일반 형식 (과학적 표기법에 대문자 E 사용)

 

예제 준비 중.

 


:o   :  8 진수 형식

 

txt = "십진수 {0} = 팔진수 {0:o}"

print(txt.format(10))

 

결과값: 십진수 10 = 팔진수 12


:x   :  16 진수 형식 (소문자 사용)

 

txt = "10진수 {0} = 16진수 {0:x}"

print(txt.format(255))

 

결과값: 10진수 255 = 16진수 ff


:X   :  16 진수 형식 (대문자 사용)

 

txt = "10진수 {0} = 16진수 {0:X}"

print(txt.format(255))

 

결과값: 10진수 255 = 16진수 FF

 


:n   :  숫자 형식

 

예제 준비 중.

 


:%  :  백분율 형식

 

# 소수점 있는 백분율 (기본: 6자리)

txt = "{:%}"

print(txt.format(0.25)) # 25.000000%


# 소수점 없는 백분율

txt = "{:.0%}"

print(txt.format(0.25)) # 25%

 

 

format() 예제 - 문자열 포맷

 

a = 3

b = 4

print("{} * {} = {}".format(a,b,a*b))

 

결과값: 3 * 4 = 12


[예제] 소수점 자릿수 맞추기.

 

a = 3

b = 4

print("{} * {:.3f} = {:.3f}".format(a,b,a*b))

 

결과값: 3 * 4.000 = 12.000 


[예제] 소수점 포함 전체 10자리인데, 그 중 소수점은 3자리 차지.


a = 12.34

print("{:10.3f}".format(a))

 

결과값:    12.340

 

PS. 주의 

전체자릿수 숫자는 지정 소수점 자릿수로 숫자를 다 표현할 수 있을 때만 유효.

즉,

위 예제 경우. (정수 2자리 + 소수점 + 소수점 이하 3자리) 표시 위해 최소 6자리 공간이 필요한데, 6미만의 숫자를 전체 자릿수로 지정할 경우 이 숫자는 무시되고 소수점 이하 자릿수 지정만 유효하게 됨. 그 결과 결과값은 12.340 됨.

(예)

a = 12.34

print("{:5.3f}".format(a)) # 12.340

 



분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
basic Python - Dictionary (딕셔너리) - Key:value 쌍으로 구성된 모음
basic Python - if...elif...else - (이프조건문) ※ 3항연산자 = 삼항연산자
basic Python - While (와일반복문) - 와일문
basic Python - For (포반복문) ★★★★★
basic Python - Function (함수)
1/24
목록
찾아주셔서 감사합니다. Since 2012