문자열 포맷팅(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 문자열을 활용한 코드라고 생각합니다. 문자열의 어떤 위치에 어떤 변수의 값이 들어가는지 가장 한눈에 명확하게 보여주기 때문입니다. 코딩을 하는데 있어서 가독성 좋게 작성하는 것은 매우 중요한 일입니다. 또한 속도 면에서도 세번째 방법이 첫번째, 두번째 방법보다 더 빠르다고 합니다. 따라서 세번째 방법으로 문자열 포맷팅하는 것을 추천드립니다.
참고로 f 문자열 포맷팅은 원래는 없던 방법인데 python 3.6 버전부터 추가된 방법이라고 합니다. 3.6 버전 첫 릴리즈가 2016년 말이니 최근에 파이썬을 설치하신 분들은 모두 다 된다고 보시면 됩니다. f 문자열은 "문자열" 앞에 단순히 f를 붙인 문자열을 뜻합니다.
만약 자신의 파이썬 버전이 궁금하신 분들은 cmd를 여시고 python을 타이핑해보세요. 자세한 사항은 아래 글을 참고하세요. ^^
관련 글
☞ [python] 파이썬 버전 확인하는 코드와 명령어
참고자료
[1] https://realpython.com/python-f-strings/, Real Python, "Python 3's f-Strings: An Improved String Formatting Syntax (Guide)"
(이 글은 2021-5-18에 마지막으로 수정되었습니다)
'Dev > 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] 스파이더 fullscreen 모드 푸는 법 (0) | 2020.06.22 |
[python] 뽀로로 친구들을 검출해보자(Tensorflow object detection API) (0) | 2020.06.19 |
[python] 다른 파일에 있는 함수를 가져와서 사용하려면? (0) | 2020.06.18 |
[python] 메모리 에러 해결법(MemoryError: Unable to allocate ## for an array with shape ## and data type ##) (7) | 2020.06.10 |