2022.05.24 - [개발 이야기/Python] - [코딩 테스트] 파이썬 코딩테스트 핵심 요약 (CheatSheet) - 코테 1시간전에 꼭 보자.
2022.04.30 - [개발 이야기] - [코테] 코딩 테스트 플랫폼 4종 - 백준, 리트코드, 프로그래머스, 코드시그널
2021.12.16 - [개발 이야기/Python] - 파이썬 오디오 라이브러리 Top 5종 (Python Audio Library )
2020.12.16 - [분류 전체보기] - [개발] 피보나치(Fibonacci) 수열 구현 7가지 방법 - 파이썬 실습/확인 바로하기
2020.05.09 - [개발 이야기] - [개발] 파이썬 문법 5분만에 읽히기 - 파이썬 기본 문법 요약/정리 8 가지
2018.03.03 - [개발 이야기/Python] - 피보나치(Fibonacci) 수열을 구현하는 7가지 방법 - 파이썬(Python) 피보나치 구현 7선
여러분
Python에서 원하는 내용을 문자열로 표현할 때 어떤 방법을 사용하시나요?
테스트 메세지를 작성하거나, 원하는 정보를 담아서 문자열로 출력하는 경우가 빈번하게 발생하지요. C/C++에서 `sprintf` 등에 해당하는 기능이 되겠네요. JAVA/Javascript가 익숙하신 경우라면, 단순히 문자열에 연결해 주거나 `tostring()`등에 익숙할 것입니다.
Python은 다양한 방식으로 문자열 구성을 지원합니다. 대표적으로 아래 4종을 소개 합니다.
출력하고자 하는 정보를 문자열로 변경하여 문자열을 연결 ( "+" ) 하는 방식입니다. JAVA 또는 javascript에서 많이 사용하는 방식 입니다. python의 문자열로 변경하는 방법은 `str()`을 사용하여 캐스팅 하는 방법이 있습니다.
a, b = 10/3 , 10.77
msg = " python string : " + str(a) + ", " + str(b)
print(msg)
# python string : 3.3333333333333335, 10.77
귀찮은 경우에 빠르게 확인해 보는 용도로는 편하긴 합니다. 다만, 출력해야하는 형식을 지정하기 어렵고, 개수가 늘어나면 불편해 집니다. 특히 사이에 쉼표(,) 등으로 구분할 필요가 있다면 필요 이상으로 코드가 지저분 해집니다.
Python을 처음 배우는 입문서에서 자주 제시하는 방법입니다. C언어 스타일의 포맷스트링을 최대한 유지하려고 하는 스타일 입니다.
우선 문자열 내부에 %s, %d, %f 등의 형식지정문자를 포함하여 포맷팅 한 후 매개변수를 입력하는 구분자로 "%"를 사용하는 방식입니다. 문자화 할 때 %02d 등으로 자릿수 표현 등 포맷을 지정이 가능합니다.
a, b = 10/3 , 10.77
msg = " python string : %02d, %10.5f " % (a,b)
print(msg)
# python string : 03, 10.77000
% 뒤에 변수값 입력은 Tuple 형식이므로 괄호로 감싸주어 입력해야 합니다. 개인적으로는 자리수 맞추는 등에서 번거롭기 때문에 선호하는 방식은 아닙니다.
% 방식을 메소드화 한 것이라고 볼 수 있습니다. 메소드화 하면서 여러가지 편의기능이 추가 되었습니다. 대표적으로 순서를 명시화 할 수 있습니다. 또한 자릿수 등 포맷이 좀 더 직관적입니다.
a, b = 10/3 , 10.77
msg = " python string : {}, {} ".format(a,b)
print(msg)
# python string : 3.3333333333333335, 10.77
다음은 순서를 변경하고, 자릿수 등의 포맷을 변경한 결과입니다. ex) {순서 인덱스 : 정수자릿수.소숫점자릿수f}
a, b = 10/3 , 10.77
msg = " python string : {1:5.1f}, {0:0.5f} ".format(a,b)
print(msg)
# python string : 10.8, 3.33333
위에서 소개한 format() 메소드와 사용은 유사하나, 매개변수를 바로 입력하는 방식입니다. 문자열 앞에 'f'만 추가하여 사용할 수 있기 때문에 형식도 매우 간결합니다.
개인적으로 가장 빈번하게 사용하는 방식입니다. 출력될 위치에 바로 변수를 입력하기 때문에 직관적입니다.
a, b = 10/3 , 10.77
msg = f" python string : {a}, {b} "
print(msg)
# python string : 3.3333333333333335, 10.77
자릿수 등의 표현은 format() 메소드와 동일합니다.
a, b = 10/3 , 10.77
msg = f" python string : {a:2.3f}, {b:10.5f} "
print(msg)
# python string : 3.333, 10.77000
2022.05.24 - [개발 이야기/Python] - [코딩 테스트] 파이썬 코딩테스트 핵심 요약 (CheatSheet) - 코테 1시간전에 꼭 보자.
2022.04.30 - [개발 이야기] - [코테] 코딩 테스트 플랫폼 4종 - 백준, 리트코드, 프로그래머스, 코드시그널
2021.12.16 - [개발 이야기/Python] - 파이썬 오디오 라이브러리 Top 5종 (Python Audio Library )
2020.12.16 - [분류 전체보기] - [개발] 피보나치(Fibonacci) 수열 구현 7가지 방법 - 파이썬 실습/확인 바로하기
2020.05.09 - [개발 이야기] - [개발] 파이썬 문법 5분만에 읽히기 - 파이썬 기본 문법 요약/정리 8 가지
2018.03.03 - [개발 이야기/Python] - 피보나치(Fibonacci) 수열을 구현하는 7가지 방법 - 파이썬(Python) 피보나치 구현 7선
[librosa 설치] 설치오류 - sndfile library not found (0) | 2022.06.02 |
---|---|
[코딩 테스트] 파이썬 코딩테스트 핵심 요약 (CheatSheet) - 코테 1시간전에 꼭 보자. (0) | 2022.05.24 |
[음성인식 - 6라인] 가장 쉬운 음성인식 (STT) 해 보기 (0) | 2022.05.08 |
[Python] 통계 대표값 (Mean, Median, Mode) 구하기 - 패키지 사용 vs. 패키지 미사용 (0) | 2022.05.07 |
파이썬 오디오 라이브러리 Top 5종 (Python Audio Library ) (2) | 2021.12.16 |
댓글 영역