YOGYUI

Python - str format 중괄호 (brace) 출력하기 본문

Software/Python

Python - str format 중괄호 (brace) 출력하기

요겨 2021. 8. 25. 13:53
반응형

 

 

Python으로 문자열(str)을 다룰 때 format을 자주 활용하게 된다

print("Hello World! {}".format('yogyui'))
print("Hello World! {:d}".format(1234))
print("Hello World! 0x{:X}".format(255))

temp = "Hello World! {}"
print(temp)
print(temp.format('test'))
print("{0} {1}!".format('Hello', 'World'))

출력

Hello World! yogyui
Hello World! 1234
Hello World! 0xFF
Hello World! {}
Hello World! test
Hello World!

 

Problem

format을 활용할 때 변수를 출력하고자 할 경우 중괄호(brace)를 사용하는데, 문자열 내에 중괄호를 출력하고자 할 때 단순히 { 와 }를 한 개씩만 입력하면 오류가 발생한다

print("Hello World! { {:d} }".format(1234))

출력

Traceback (most recent call last):
  File "~/1.py", line 9, in <module>
    print("Hello World! { {:d} }".format(1234))

ValueError: unexpected '{' in field name

 

Solution

중괄호를 두 개 연속하게 입력하면 정상적으로 출력된다 ( {{ , }} )

print("Hello World! {{ {:d} }}".format(1234))
print("Hello World! {{:d}}".format(1234))
print("Hello World! {{{{{0}}}}}".format(1234))

출력

Hello World! { 1234 }
Hello World! {:d}
Hello World! {{1234}}

 

끝~!

 

[참고]

https://stackoverflow.com/questions/5466451/how-can-i-print-literal-curly-brace-characters-in-a-string-and-also-use-format

반응형