IT/프로그래밍

[파이썬] 파이썬 심화 문자열 포매팅[패스트 캠퍼스 챌린지 23일]

뜻밖의 행복 2022. 2. 15. 13:30
반응형

안녕하세요? 뜻밖의 행운입니다.

 

패스트 컴퍼스 챌린지 23일차입니다. 

이제 확실히 습관으로 자리 잡은듯 하네요 

파이썬 공부 뿐만 아니라 업무용 tool, 재태크 관련 포스팅도 꾸준히 해봐야겠습니다.

저를 위해서 공부하고 정리하는 것이 결국 저를 위한 것이지만요

그러다가 방문자분들에게 도움이 된다면 일석이조죠

 

오늘은 문자열 포매팅에 대해서 배웠습니다.

문자열 포매팅? 왜 사용할까요?

네 조금이라도 편하게 개발하기 위함 입니다. 

포매팅을 사용하면 뭐가 더 편한데 하면 예제를 보면 느낌이 옵니다.

 

# 문자열 포매팅이 사용하지 않을경우?
# 문자열 출력 : 누구누구님 수강기간이 현재 땡땡 일 남았습니다. 

name = '뜻밖의 행운'
duration = 10

message = name + '님 수강기간이 현재 ' + str(duration) + '일 남았습니다.'
print(message)

# 문자열 포매팅 사용시!!!
message_format = f'{name}님 수강기간이 현재 {duration}일 남았습니다.'
print(message_format)

# format 메서드 사용
a = 'Hello {2} {1} {0}'.format('뜻', '밖의', '행운')
print(a)

b = 'Hello {} {} {}'.format('뜻', '밖의', '행운')
print(b)

# f-string 사용
name1 = '뜻'
name2 = '밖의'
name3 = '행운'

c = f'Hello {name1} {name2} {name3}'
print(c)

오늘 공부할 예제입니다.

 

우선 문자열 포매팅을 사용하지 않고 

누구누구님 수강기간이 현재 땡땡 일 남았습니다.

위 형식의 문자를 출력한다고 할경우 수강생 이름 그리고 남을 날짜 를 변수로 취하고 

name = '뜻밖의 행운'
duration = 10

message = name + '님 수강기간이 현재 ' + str(duration) + '일 남았습니다.'
print(message)

위와 같은 형식으로 계속 해야 합니다. 

특히 날짜 같은 경우 정수라서 그냥 연산을 하면 오류가 뜨기 때문에 저렇게 str() 로 형변환 까지 해줘야 합니다.

그런데 문자열 포매팅 기능을 사용하면 굉장히 편리하게 할 수 있습니다.

 

문자열 포매팅에는 크게 두 가지 방법이 있는데

 

format 매서드

f-string

 

두가지 입니다. 이 중 f-string은 초보때 여러번 사용해서 사실 익숙합니다.

각각 어떻게 사용하는지 보겠습니다.

 

우선 format 매서드

 

# format 메서드 사용
a = 'Hello {2} {1} {0}'.format('뜻', '밖의', '행운')
print(a)

b = 'Hello {} {} {}'.format('뜻', '밖의', '행운')
print(b)
'문자열 {} {} {}'.format(중괄호만큼 문자) 형식으로 사용합니다. 
여기서 중괄호에 숫자를 주면 format() 안에 있는 순서대로 각 순서에 맞게 들어갑니다.
아무런 순서를 지정하지 않으면 그냥 순서대로 들어갑니다. 
예제를 바로 볼까요?
 

 

네 정말 그렇게 동작하는게 보이지요?

 

그리고 f-string

 

개인적으로 f-string이 좀더 직관적으로 느껴집니다.

변수를 지정하고 

 

f '문자열 {변수명}' 형식으로 사용합니다.

# f-string 사용

name1 = '뜻'
name2 = '밖의'
name3 = '행운'

c = f'Hello {name1} {name2} {name3}'
print(c)

네 3개의 변수가 있다고 치면 

f'문자열 {변수명} {변수명} {변수명}' 으로 바로 사용이 가능합니다.

실제로 동작을 볼까요?

네 역시 잘 동작하는 것을 볼 수 있습니다.

이렇게 문자열 포매팅을 사용하면 저런 문자열을 다루는 개발때 

좀더 편하고 손이 덜가게 개발이 가능해집니다.

 

아마 개인 취향에 따라 두 개중에 한 가지만 주로 사용하시게 될텐데 그래도 

둘 다 알아야 혹 다른이가 개발한 소스코드를 읽을 수 있기 때문에 

모두 알고 계신 편이 좋습니다.

 

 

반응형