Chap.8 문자열 관리[포맷팅] - 포맷팅, 선형 포맷팅, 자리 채움방식
포맷팅
포맷팅, 선형 포맷팅, 자리 채움방식
포맷팅
- %d 정수
- %f 실수
- %s 문자열
- %c 문자 하나
- %h 16진수
- %o 8진수
- %% % 문자
- %[-]폭[.유효자리수]서식, 폭에는 소수점에 포함 , 반올림 발생
price = 500
print("궁금하면 " + str(price) + "원!")
mont = 8
day = 15
anni = "광복절"
print("%d월%d일은 %s이다." % (mont, day, anni)) # python 2 style
결과
궁금하면 500원!
8월15일은 광복절이다.
value = 123
print("###%d###"%value)
print("###%5d###"%value) # 5자리로 출력 (오른쪽에 정렬해서)
print("###%10d###"%value) # 10자리로 출력 (오른쪽에 정렬해서)
print("###%-10d###"%value) # 10자리로 출력 (왼쪽에 정렬해서)
print("###%1d###"%value) # 더 낮은 자리로 출력하면 그대로 나온다.
결과
###123###
### 123###
### 123###
###123 ###
###123###
# 깔금하게 표기할 때 좋다.
price = [30, 13500, 2000]
for p in price :
print("가격 : %d원"%p)
print()
for p in price :
print("가격 : %7d원"%p)
print()
for p in price :
print("가격 : %-7d원"%p)
결과
가격 : 30원
가격 : 13500원
가격 : 2000원
가격 : 30원
가격 : 13500원
가격 : 2000원
가격 : 30 원
가격 : 13500 원
가격 : 2000 원
f = 123.1234567
print("%10f"%f) # 앞에 f는 float
print("%10.8f"%f)
print("%10.5f"%f)
print("%10.2f"%f)
print("%.2f"%123.126) # 가장 많이 쓴다.
결과
123.123457
123.12345670
123.12346
123.12
123.13
선형 포맷팅 - 권장
- "{[:포맷문자열]} ".format(값...)
- "{인덱스[:포맷문자열]} ".format(값...)
- "{변수명[:포맷문자열]} ".format(값...)
name = "한결"
age = 16
height = 162.5
print("이름: {}, 나이: {}, 키: {}".format(name, age, height))
print("이름: {:s}, 나이: {:d}, 키: {:f}".format(name, age, height))
print("이름: {:4s}, 나이: {:3d}, 키: {:.2f}".format(name, age, height))
결과
이름: 한결, 나이: 16, 키: 162.5
이름: 한결, 나이: 16, 키: 162.500000
이름: 한결 , 나이: 16, 키: 162.50
name = "한결"
age = 16
height = 162.5
print("이름: {0}, 나이: {1}, 키: {2}".format(name, age, height))
print("이름: {2}, 나이: {1}, 키: {0}".format(height, age, name))
print("이름: {name}, 나이: {age}, 키: {height}".format(age=20, height=160.9, name="길동"))
결과
이름: 한결, 나이: 16, 키: 162.5
이름: 한결, 나이: 16, 키: 162.5
이름: 길동, 나이: 20, 키: 160.9
boy = {"name": "길동", "age":20, "height":160.9}
print("이름:{0[name]}, 나이:{0[age]}, 키:{0[height]}".format(boy))
결과
이름:길동, 나이:20, 키:160.9
# Python 3.6부터! 이걸 많이 쓴다. 앞으로 이렇게 해보자.
name = "한결"
age = 16
height = 162.5
print(f"이름: {name}, 나이: {age}, 키: {height:.2f}") # 앞에 f가 핵심
결과
이름: 한결, 나이: 16, 키: 162.50
문자열은 불변개체다.
중요 : slicing, split, format
예제
개행 주의
trabler = """
강나루 건너서
밀반 길을
구름에 달 가듯이
가는 나그네
"""
def main():
trabler = """
강나루 건너서
밀반 길을
구름에 달 가듯이
가는 나그네
"""
# 지금 위 경우는 한줄 맨 앞에 데이터 3개씩 들어가있는 것이다.
# 처음과 같기 위해서는
trabler = """
강나루 건너서
밀반 길을
구름에 달 가듯이
가는 나그네
"""
# 위와 같이 표현해야한다.
'인터페이스 개발 > Python' 카테고리의 다른 글
Python - 리스트와 튜플[리스트 관리] - 삽입, 연결, 삭제, 검색, 정렬, 컴프리핸션 (0) | 2020.07.25 |
---|---|
Python - 리스트와 튜플[리스트] - 자료의 집합, 리스트의 요소, 이중 리스트 (0) | 2020.07.25 |
Python - 문자열 관리[문자열 메서드] - 검색, 조사, 기타 메서드, 변경, 분할, 대체 (0) | 2020.07.25 |
Python - 문자열 관리[문자열 분리] - 첨자, 슬라이싱 (0) | 2020.07.25 |
Python - 함수[예제] - 함수 만들기 연습, Number guessing game (0) | 2020.07.25 |
댓글