[python] 파이썬 문자열 format() 함수에 대한 이해 (% 기호)

파이썬에서 문자열 내 변수들을 삽입하고자 할 때, format() 함수를 사용합니다. 이 함수에 대한 간략한 정리를 하고자 합니다. 우선 아래 코드를 보겠습니다.


print("The value of {} is approximately {:.5f}".format('pi', np.pi))
# Output: The value of pi is approximately 3.141592653589793


문자열 내 {}를 place-holder라고 하며 변수의 값이 들어갈 위치를 의미합니다. format() 함수의 전달인자들은 place-holder에 차례대로 들어가게 되는 것입니다. 첫번째 place-holder에 문자열 'pi'가 삽입되고, 두번째 place-holder에 파이값이 들어갑니다. 다른 예시를 보겠습니다.


s = "{1:d} plus {0:d} is {2:d}"
print(s.format(2, 4, 2 + 4))
# 4 plus 2 is 6


위 예시처럼, format() 함수로 전달된 매개변수 중 몇 번째 매개변수를 사용할 것인지 place-holder 표현식에 명시할 수 있습니다. 그리고 콜론(:) 문자 뒤에 변수값 형태를 명시할 수 있습니다. d는 10진수, o는 8진수, x는 16진수, b는 2진수입니다. 따라서 {1:d}는 2번째 매개변수인 4를 10진수로, {0:d}는 1번째 매개변수 2를 10진수로, {2:d}는 3번째 매개변수 2+4를 10진수로 삽입하게 됩니다.


문자열을 매개변수로 전달하는 경우에는 아래와 같이 콜론 뒤 구문을 생략하고 사용할 수 있습니다.


print("Every {2} has its {3}.".format('dog', 'day', 'rose', 'thorn'))
# Every rose has its thorn.


% 기호 구문을 사용하면 format() 함수와 동일한 기능을 수행할 수도 있습니다.


print("The value of %s is approximately %.5f" % ('pi', np.pi))
# Output: The value of pi is approximately 3.14159


% 기호와 포맷기호로 place-holder {}를 대신하고 문자열 다음에 % 기호를 삽입하고 전달할 값들을 기술합니다. C/C++에서 printf() 함수와 유사합니다.


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

NPN, PNP 트랜지스터 차이점

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

3선 결선식 센서의 타입 PNP, NPN

커패시터에 저장된 에너지 계산

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)

제너 다이오드에 저항을 연결하는 이유

3상 모터 전력에서 전류 계산하기 (How to Convert Three-Phase Power to Amps)

[공압밸브] 5포트 2웨이 & 4포트 2웨이, 단동 VS 복동 차이점

공압 속도 제어: 미터인 vs 미터아웃