format

shin·2022년 6월 15일
0

Python

목록 보기
5/5

format

  • 오늘은 2022년 1월 1일 입니다. 코드로 출력해보면 다음과 같다.
# 오늘은 2022년 1월 1일 입니다.
year = 2022
month = 10
day = 29

print("오늘은" + str(year) + "년" + str(month) + "월" + str(day) + "일 입니다")
  • 위 코드를 살펴보면 매번 띄어쓰기를 해야하고 코드도 길어져 번거롭다.
  • 이러한 번거로움을 format이라는 메서드로 해결할 수 있다.
print("오늘은 {}년 {}월 {}일 입니다.".format(year, month, day))
  • 먼저 문자열을 작성하고 사용하고자 하는 값에 빈{}를 작성한다.
  • 그리고 문자열 끝에 .format() 메서드를 작성한다.
  • format() 파라미터로 {}에 넣어줄 값을 순서대로 작성하면 된다.
  • 형 변화를 사용했던 코드와 비교를 하면 코드도 짧아지고 읽기도 휠씬 편하게 바뀌었다.

  • 코드를 좀더 바꿔보면..

day_string = "오늘은 {}년 {}월 {}일 입니다."
print(day_string.format(year, month, day))
  • 사용하고자 하는 문자열을 day_string이라는 변수에 넣어주고, print 안에 있는 문자열을 day_string으로 바꿔준다.

활용

print("저는 {}, {}, {}를 좋아합니다!".format("사과", "배", "오렌지"))
  • 코드를 출력하면
    저는 사과, 배, 오렌지를 좋아합니다!가 출력된다
    만약 과일의 순서를 바꾸고 싶다면 어떻게 해야할까?
    먼저 코드로 살펴보면
print("저는 {2}, {0}, {1}를 좋아합니다!".format("사과", "배", "오렌지"))
  • {}안에 과일의 각 순서를 적어주면 된다.
  • 프로그래밍 언어는 0부터 시작하기 때문에 사과는 0번, 배는 1번, 오렌지는 2번에 해당한다.

숫자열에서 format

num_1 = 1
num_2 = 3

print("{0} 나누기 {1}은 {2}입니다.".format(num_1, num_2, num_1/num_2))
  • 코드를 출력하면 1 나누기 3은 0.3333333333333333입니다. 가 나온다.
  • 만약 {2} 값을 소수 둘쨰 자리까지 반올림 하고 싶다면
  • {2:.2f}로 작성하면 된다. ffloating(소수)를 뜻하고 2는 소수점 둘째 자리로 반올림하라는 뜻이다.
  • 정수로 바꾸고 싶다면 {2:.0f} 로 작성하면 된다.

f-string

name = "Tom"
age = 30

print(f"제 이름은 {name}이고 {age}살입니다.")
  • 파이썬 3.6버전부터 새롭게 나온 방식이다.

0개의 댓글