데이터과학 삼학년

문자열 포맷팅 (% operator, str.format, f-string) 본문

Python

문자열 포맷팅 (% operator, str.format, f-string)

Dan-k 2020. 4. 2. 18:25
반응형

문자열 포맷팅 방식에 대해 알아보고자한다.

 

문자열 포맷팅이란

'나는 000 입니다.' 라는 것을 출력할때 '000'에 들어갈 단어들이 매번 바뀔수 있다. 이를 코드로 유연하게 바꿔주고 싶을때 주로 사용한다.

 

% operator

name = 'world'
'hello %s' %name
-> hello world

'hello %% %s' %name
-> hello % world

 문자타입은 %s, 정수타입은 %d, 실수타입은 %f 등...문자열에 들어갈 데이터의 타입에 맞게 %로 지정해주고 써야한다는 번거로움이 있다.

이때 문자열에 %를 넣고 싶다면  %%로 써야하는 등 번거로움이 있다.

 

str.format

name = 'world'
'hello {}'.format(name)
-> hello world

문자를 넣고 싶은 위치에 '{}' 넣고 format 함수를 이용해 해당 문자열에 값을 넣는 방식이다.

% operator에 비해 쉽고 매우 간편하여 많이 사용하고 있다.

다만, format은 문자열안에 넣을 변수들이 많아질 때, 복잡하고, 시인성이 약해지는 단점이 있다.

 

f-sting

name = 'world'
f'hello {name}'
-> hello world

f-string은 파이썬3.6버전 이상부터 들어온 기능으로 문자열내에 바로 값을 넣을 수 있는 장점이 있다.

format에 비해 더 직관적이고 쉽게 적용할 수 있다.

f-string을 적용하려면 문자열앞에 f or F 를 적고 실행하면 된다.

 

속도 측면에서도 f-string이 가장 빠르다고 하니 python 3.6버전 이상의 환경에서는 f-string을 적극적으로 활용하면 좋을 것 같다.

 

728x90
반응형
LIST
Comments