문자열 포맷팅(string formatting)은 문자열 속 특정한 위치에 특정한 값을 삽입해 주는 것을 의미합니다. 만약에 문자열 중에 일부가 변할 수 있는 가능성이 있는 경우 문자열 포맷팅을 통해 그 부분만 바꿔줄 수 있습니다. 문자열 포맷팅은 크게 세가지 방법으로 구현할 수 있습니다.
1) % 사용하는 방법
2) format() 사용하는 방법
3) f 사용하는 방법
다음 코드를 한번 같이 보시죠. 위 세가지 방법으로 문자열 포맷팅을 해봤습니다.
num1 = 4
num2 = 7
str1 = "%d + %d = %d" % (num1, num2, num1+num2) # % 사용하는 포맷팅
str2 = "{0} + {1} = {2}".format(num1, num2, num1+num2) # format() 사용하는 포맷팅
str3 = f"{num1} + {num2} = {num1+num2}" # f 사용하는 포맷팅
print(str1)
print(str2)
print(str3)
이 코드를 실행시키면 다음과 같은 화면이 출력됩니다.
물론 다음과 같이 문자열 변수들도 생성되었고요.
위 세가지 방법으로 생성된 문자열은 보시는 것과 같이 모두 동일합니다. 그렇다면 이 세가지 중에서 어떤 코드가 가장 가독성이 좋나요? 저는 세번째 방법에 의해 쓰여진 코드라고 생각합니다. 문자열의 어떤 위치에 어떤 변수의 값이 들어가는지 가장 한눈에 명확하게 보여주기 때문입니다. 코딩을 하는데 있어서 가독성 좋게 작성하는 것은 매우 중요한 일이죠. 또한 속도 면에서도 세번째 방법이 첫번째, 두번째 방법보다 더 빠르다고 합니다. 따라서 세번째 방법으로 문자열 포맷팅하는 것을 추천드립니다. 참고로 f를 이용한 포맷팅은 원래는 없던 방법인데 python 3.6 버전부터 추가된 방법이라고 합니다.
<참고자료>
[1] https://realpython.com/python-f-strings/, Real Python, "Python 3's f-Strings: An Improved String Formatting Syntax (Guide)"
'코딩 > python' 카테고리의 다른 글
[python] numpy 배열을 파일로 저장하고 불러오기 (0) | 2020.06.27 |
---|---|
[python] 파이썬 버전 확인하는 코드와 명령어 (0) | 2020.06.26 |
[python] numpy 패키지 isnan 함수 (0) | 2020.06.26 |
[python] img12.bmp에서 숫자 12를 추출해내려면? (0) | 2020.06.24 |
[python] 문자열 포맷팅이란? 3가지 문자열 포맷팅 방법들 (0) | 2020.06.22 |
[python] 스파이더 fullscreen 모드 푸는 법 (0) | 2020.06.22 |
[python] 다른 파일에 있는 함수를 가져와서 사용하려면? (0) | 2020.06.18 |
[python] 메모리 에러 해결법(MemoryError: Unable to allocate ## for an array with shape ## and data type ##) (6) | 2020.06.10 |
[python] tensorflow에서 GPU 사용가능 여부 확인하기(+ 실제로 얼마나 빠른지 확인) (9) | 2020.06.09 |