본문 바로가기
Study/Python

[python] 문자열 format 함수

by 셀린Celinee 2023. 8. 21.
728x90
#format 함수
#ex)구구단

a = 8
b = 14

s = '구구단 {0} x {1} = {2}'.format(a, b, a*b)
print(s)

#결과 : 구구단 8 x 14 = 112

{} 안에 0 - 1 - 2 ~ 순서로 인덱스 (자리, 공간)를 만들어주면

format 함수에 들어있는 문자 및 변수가 그 자리를 차지한다!

노가다 할 필요 없이 변수만 그때그때 바꿔주면 수정이 편리하다.

a, b 문자 대신, 넣어 줄 값을 직접 format 안에 직접 입력할 수도 있다.

#인덱스를 비워둠
test1 = 'name : {}, class : {}'.format('celine', 'A')
print(test1)

#0-1-2 ... 순서로 가는 인덱스의 순서를 바꿈
test2 = 'food_1 : {1}, food_2 : {0}'.format('pizza', 'chicken')
print(test2)

#인덱스를 여러번 중복해서 입력
test3 = 'one : {0}, two : {0}, three : {1}'.format('첫번째', '두번째')
print(test3)

#결과 : name : celine, class : A
#		food_1 : chicken, food_2 : pizza
#		one : 첫번째, two : 첫번째, three : 두번째

주의할 점

  • 인덱스 안 숫자는 0부터 시작
  • format 전까지 '  ' 하나로 묶기 ==> 요소 하나당 한 개로 묶으면 안 됨!

format() 함수로 현재 날짜를 한눈에 볼 수 있게 출력해 보자 

#날짜/시간과 관련된 기능을 가져옵니다.
import datetime

#현재 날짜/시간을 구합니다
now = datetime.datetime.now()	#저건 함수!

#출력
print("{}년 {}월 {}일 {}시 {}분 {}초".format(
    now.year,
    now.month,
    now.day,
    now.hour,
    now.minute,
    now.second
))

#결과 : 2023년 8월 21일 21시 25분 26초

이번엔 계절을 구분하는 프로그램을 만들어보자 

import datetime

now = datetime.datetime.now()

if 3 <= now.month <= 5:
    print("이번 달은 {}월로 봄입니다!".format(now.month))

if 6 < now.month <= 8:
    print("이번 달은 {}월로 여름입니다!".format(now.month))

if 9 < now.month <= 11:
    print("이번 달은 {}월로 가을입니다!".format(now.month))

if now.month == 12 or 1 <=now.month <= 2:
    print("이번 달은 {}월로 겨울입니다!".format(now.month))
    
#결과 : 이번 달은 8월로 여름입니다!

 

주의할 점

11월 가을까지는 무난~ 한데

겨울은 12월, 1월, 2월인데?? 단순 부등호로 표현할 수 없다!

그래서 'now.month가 12 이거나 (or) 1보다 크거나 같고 2보다 작거나 같을 때'로 지정해 줘야 한다!

728x90

'Study > Python' 카테고리의 다른 글

[python] 조건문 elif 주의사항  (0) 2023.08.21