문자열 포맷팅이란?
아래 코드는 정렬에 대한 예시입니다.
s 왼쪽은 정렬을 나타냅니다. -값은 왼쪽 정렬, +값은 오른쪽 정렬입니다.
0.4f의 의미는 소수점 네 번째 자리까지만 나타내시오 라는 의미입니다.
문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이다.
포매팅 방법
- 포맷코드 사용하기(%d, %s 등등)
- format 함수를 사용하기
- f를 활용하여 포맷하기
취향 차이지만 개인적으로 3번 방법을 추천드립니다. 코드 길이가 짧아 가독성이 제일 좋기 때문입니다.
하지만 포맷코드 즉 1번 방법으로는 정렬 및 소수점 표현도 가능하기 때문에 활용도는 1번이 더 다양합니다.
아래 예시를 통해 확인하세요
아래 예시를 통해 확인하세요
#문자열 포매팅 예시 num = 3 fruit = "apples" # 1번 방법 %d, %s로 포맷하기 eatApples = "I eat %d %s" %(num ,fruit) print("1번 방법 %d, %s로 포맷하기" + eatApples) # 2번 방법 format 함수를 이용하기 eatApples2 = "I eat {} {}".format(num,fruit) print("2번 방법 format 함수를 이용하기" + eatApples2) # 2번 방법 응용 인덱싱 활용하기 eatApples3 = "I eat {1} {0}".format(num,fruit) print("2번 방법 응용 인덱싱 활용하기" + eatApples3) # 3번 방법 f를 활용하기 eatApples4 = f"I eat {num} {fruit}" print("3번 방법 f를 활용하기" + eatApples4)
아래 코드는 정렬에 대한 예시입니다.
s 왼쪽은 정렬을 나타냅니다. -값은 왼쪽 정렬, +값은 오른쪽 정렬입니다.
# 포맷코드로 문자열 정렬 및 소수점 출력하기 # 문자열 행렬 만들기 inputRowNum = int(input("원하는 행의 갯수를 입력하세요: ")) inputColNum = int(input("원하는 열의 갯수를 입력하세요: ")) sentence = input("원하는 문자열을 입력하세요: ") print() #for문으로 문자열 행렬 만들기 print("for문으로 문자열 행렬 만들기\n") for i in range(inputRowNum): print("%-15s" %(sentence) *inputColNum) print() #while 문으로 문자열 행렬 만들기 print("while문으로 문자열 행렬 만들기\n") cnt = 0 while(cnt<inputRowNum): print("%-20s" %(sentence) *inputColNum) cnt+=1 print()
0.4f의 의미는 소수점 네 번째 자리까지만 나타내시오 라는 의미입니다.
#소수점 연습 import random a = random.random() # 0부터 1 사이의 임의의 float print(a) print("%0.4f" %a) # 소수점 4번째 짜리 까지 출력
댓글
댓글 쓰기