[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() 함수와 유사합니다.
끝.
댓글
댓글 쓰기