본문 바로가기

Programming Language/Python( 파이썬 )

파이썬 format, f-string (여러가지 포맷팅 방법에 대한 예시)

반응형

 

 

똑같은 형식에,
다른 내용을 넣으려면 어떻게 해야할까요?
매번 다른 내용을 입력해주어야 할까요?

ex) ㅁㅁ(아이디) 회원님
제 블로그를 방문해주셔서 감사합니다.

 

이 물음이 오늘 파이썬 포맷팅의 근본적인 출발점이었습니다!

 

 

우리가 흔히 아는 단어인 포맷의 뜻 그대로 사용하시면 됩니다.

 

즉, 파라미터(변수) 만 바꿔주고 그 이외의 것들을 바꿔주는 경우에 사용하는 것이 이 포맷팅입니다.

 

1. print 문 내에서의 포맷팅

파이썬에서 가장 기본적인 방식의 포맷팅은 문장 내에서 사용되는 포맷입니다.

print("올해 수능은 {}년 {}월 {}일에 시행됩니다.".format(2021, 11, 18))

 

이런 방식으로 사용할 수 있습니다.

다른 방법과 다른 특징이라면, 변수 지정을 하지 않아도 된다는 장점이 있습니다.

즉, 변수 지정 없이 바로 변화를 보고싶은 경우 !!! 편리합니다.

 

변수 지정 후 print 문 내에서의 포맷팅

만약 변수가 미리 지정되어있고 그에 맞춰서 포맷팅 하고싶으시다면

year = 2021
month = 11
date = 18

print("올해 수능은 {}년 {}월 {}일에 시행됩니다.".format(year, month, date))

 

이렇게 변수를 지정해주고 포맷에 그 변수를 넣어서 사용해주시면 됩니다.

만약 저 변수를 변경해보시고 싶다면 임의의 수 2030년을 넣어

 

이렇게 다른 변수에서도 동일하게 진행되는 것을 확인할 수 있습니다.

 

 

 

2. 형 변환 후 포맷팅

 

그 다음은 문장 내에서 int(정수)나 float(실수)를 변수로 삼는 경우 형 변환하여 문장 내 포맷팅 하는 경우를 보여드리겠습니다. 예시는 윗 문장과 동일하게 해보겠습니다.

 

우선 형 변환 없이 그대로 진행한다면.

 

이렇게 에러 코드가 나오게 됩니다.

에러 코드를 요약해보자면 ! print 내의 다른 값들은 str이므로, 변수의 (수능 날짜들이) int 값이므로 형 변환하여 사용하라는 에러 코드입니다. 그래서 에러 명도 TypeError로 나와있습니다.

 

그래서 코드를 제대로 형변환하여 사용한다면 이렇게 작성될 것 입니다.

 

year = 2021
month = 11
date = 18

print("올해 수능은 " + str(year) + "년 " + str(month) + "월 " + str(date) + "일에 시행됩니다.")

 

위의 결과값처럼 제대로 작성되어지는 것을 볼 수 있습니다.

 

 

3. f-string 포맷팅

 

마지막으로 최근에 많이 쓰이고 있는 포맷팅인 f-string 방법입니다.

저도 처음에 보고 낯설긴 했지만, 최근엔 이 방법으로 최대한 사용해보려고 하고 있습니다.

대부분 변수가 지정된 방법이기도 하고, 조금 더 방법이 간편합니다.

 

이름에서도 특징이 있듯이 앞에 f를 써주고 뒤에 str을 작성하여 마무리 짓는 방법입니다.

거두절미하고 위의 예시로 한번 연습 해보자면,

 

year = 2021
month = 11
date = 18

print(f"올해 수능은 {year}년 {month}월 {date}일에 시행됩니다.")

 

 

이렇게 사용하여 확인할 수 있습니다.

 

위에 설명드렸듯이 string이 시작되는 "" (쌍)따옴표 앞에 f 자를 붙이고 진행해주시고, 변수의 경우 {} 중괄호 안에 넣어 마무리 지어주면 됩니다. 뭔가 자바스크립트를 공부할 때 익숙했던 부분인 것 같기도 하고, c++ 느낌도 물씬 나고,,, 언어를 깊게 파진 않아서 그래도 훨씬 편리한 방법 같습니다 !!

 

어떤 방법이든 나중에 다시 포맷팅 하려고 할 때 까먹을 수 있으니 언제든지 다시 검색해서 확인하고 눈에 익혀두는 것이 좋을 것 같습니다 !!

 

 

저의 티끌 코딩 글이 블로그 방문자 님의 코딩에 조금이라도! 도움이 됐으면 좋겠습니다 ! 감사합니다 !

 

반응형