파이썬 - 문자열 포맷을 지정하는 여러가지 방법
- Development/Python
- 2021. 12. 8.
파이썬에서 문자열 포맷을 지정하는 여러가지 방법
파이쎤에서 String formatter를 사용하는 여러가지 방법에 대해 정리한다.
본 글에서는 가장 원시적으로 직접 문자열을 붙이는 시도로부터, % operator를 사용하기, format() 함수 사용하기, f-string 사용하기에 대해 간략하게 다룬다.
직접 concatenation
만약 파이썬에서 아래와 같은 내용을 출력해야 한다면, 어떻게 해야 할까?
Name: John, Student Id: 1234, Major: Math
아주 원시적인 방법으로는, 문자열 붙이기(string concatenation)를 생각해 볼 수 있다.
name = 'John'
studentId = 1234
major = 'Math'
s = 'Name: ' + name + ', Student Id: ' + str(studentId) + ', Major: ' + major
print(s)
출력 결과는 아래와 같다.
Name: John, studentId: 1234, major: Math
보다시피 너무 비효율적이다.
% 오퍼레이터 사용
파이썬에서 문자열 포맷을 지정할 때 사용할 수 있는 방법으로 % 오퍼레이터를 사용하는 방법이 있다.
s = 'Name: %s' % 'John'
print(s1)
파라미터가 하나일 경우, 위와 같이 쓸 수 있다.
s = 'Name: %s, Student Id: %d, Major: %s'
print(s % ('John', 1234, 'Math'))
파라미터가 여러 개일 경우, 위와 같이 작성한다.
한편, Named Placeholder 방식으로 작성할 수도 있다.
s = 'Name: %(name)s, Student Id: %(studentId)d, Major: %(major)s'
data = {'name':'John', 'studentId':1234, 'major':'Math'}
print(s % data)
위와 같이, 파라미터에 이름을 지정해 준 후, 파이썬 딕셔너리 형태로 파라미터를 넘겨줘도 동일한 결과를 얻을 수 있다.
format 함수 사용
format 함수를 사용하여, 문자열 포맷을 매핑할 수도 있다.
문자열.format(파라미터) 형식으로 사용한다.
s = 'Name:{name}, Student Id:{studentId}, Major:{major}'
print(s.format(name='John', studentId=1234, major='Math'))
data = {'name':'John', 'studentId':1234, 'major':'Math'}
print(s.format(**data))
파라미터에 이름을 부여해서 지정하기 때문에 % 오퍼레이터를 사용할 때보다 명시적이다.
그러나, 길이가 길어질 수록 작성하기 여전히 어렵다.
f-string 사용
파이썬 3.6 이상에서 사용할 수 있는 String Formatter 방식이다.
문자열 앞에 f를 붙이고, 문자열 내부에 named paramter를 직접 명시한다.
문자열 외부에, 해당 파라미터에 매핑되는 데이터를 할당하기만 하면 된다.
s = f'Name:{name}, Student Id:{studentId}, Major:{major}'
name = 'John'
studentId = 1234
major = 'Math'
print(s)
f-string 방식을 사용하면 가독성이 좋고, 유지보수도 편리해진다.
'Development > Python' 카테고리의 다른 글
구글 코랩(colab) 실행시 그래프에서 한글이 깨진다면? (0) | 2024.02.18 |
---|---|
좋은 파이썬 코드 작성을 위한 필독 - 파이썬 스타일 가이드 PEP8 (0) | 2022.02.17 |
파이썬 - 의존성 라이브러리 추출하기/설치하기 (pip 사용) (0) | 2021.12.11 |
네이버 검색광고 API 사용 준비하기 (0) | 2021.12.07 |
파이참(PyCharm)에서 pip 업데이트가 안될 때? (0) | 2021.12.02 |
PyMySQL - 파이썬으로 MySQL 사용하기 (0) | 2021.03.01 |
주피터 랩/주피터 노트북 - password or token 입력창 뜨면? (2) | 2021.02.24 |
구글 코랩 (Google Colab) 시작하기 (0) | 2021.01.20 |