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

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

3040  
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

 



분류 제목
string Python - isspace() 메서드 - 문자열이 모두 공백인지 체크 (= isspace메서드 = 이즈스…
string Python - istitle() 메서드 ★ - 문자열 안 각 단어의 첫 글자만 대문자인지 체크. (= 이즈…
string Python - isupper() 메서드 - 영문 문자열이 대문자뿐인지 체크. (= isupper메서드 = …
string Python - join() 메서드 ★★ - 구분자 문자열로 연결/결합. (= join메서드 = 조인)
string Python - ljust() 메서드 - 반환된 문자열 길이의 왼쪽 정렬 (= ljust메서드 = 엘저스트메…
string Python - lower() 메서드 ★★ - 소문자로 변환 (= lower메서드 = 로우어메서드)
string Python - lstrip() 메서드 ★★ - 왼쪽 공백 제거. (= lstrip메서드 = 엘스트립메서드)
string Python - maketrans() 메서드 - 문자열 대체 매핑 테이블 생성 (= maketrans메서드 …
string Python - partition() 메서드 - 앞부터 지정 문자열 기준 3요소 갖는 Tuple 생성. (=…
string Python - replace() 메서드 ★ - 문자열 일부를 지정 문자열로 대체. (= replace메서드…
string Python - rfind() 메서드 - 지정 문자열 마지막 위치 찾기 (= rfind메서드 = 알파인드메서…
string Python - rindex() 메서드 - 지정 문자열 마지막 위치 찾기 (= rindex메서드 = 알인덱스…
string Python - rjust() 메서드 - 반환된 문자열 길이의 오른쪽 정렬. (= 알저스트)
string Python - rpartition() 메서드 - 뒤부터 지정 문자열 기준 3요소 갖는 Tuple 생성. (…
string Python - rsplit() 메서드 ★ - 오른쪽부터 문자열을 지정 구분자 기준으로 쪼개기 후 List …
string Python - rstrip() 메서드 ★★ - 오른쪽 공백 제거. (= rstrip메서드 = 알스트립)
string Python - split() 메서드 ★ - 왼쪽부터 문자열을 지정 구분자 기준으로 쪼개기 후 List 생성…
string Python - splitlines() 메서드 - 문자열을 줄바꿈 기준으로 쪼개기. (= splitlines…
string Python - startswith() 메서드 ★ - 지정 문자열로 시작하는지 체크. (= 스타츠위드)
string Python - strip() 메서드 ★★ - 앞뒤 공백 제거. (= strip메서드 = 스트립)
2/3
목록
찾아주셔서 감사합니다. Since 2012