Heredoc이란?
프로그래밍 언어에 문자열을 포함시키기 위한 방법이다. 문자열을 포맷팅한 다음 출력하는 Sprintf
를 생각하면 된다.
예시
Unix 계열 Shell에서
cat
을 사용해 Heredoc을 사용할 수 있다. 다음 예제는 EOT
문자열까지의 텍스트를 index.html
에 입력한다. EOT
대신 임의의 문자열을 사용할 수 있지만, 관습적으로 End of file이란 뜻의 EOF
나 End of text란 뜻의 EOT
를 많이 사용한다.
cat <<EOT > index.html
<html>
<body>
<h1>Hello, Pulumi!</h1>
</body>
</html>
EOT
결과물은
───────┼────────────────────────────────────────────────────────────────
1 │ <html>
2 │ <body>
3 │ <h1>Hello, Pulumi!</h1>
4 │ </body>
5 │ </html>
───────┴─────────────────────────────────────────────────────────────────
Python에서
파이썬에서 문자열 포맷팅을 사용해 출력하는 방법은 3가지가 있다.
name = "john"
age = 10
print(f"I am {name}, {age} years old.")
text_literal = """I am {my_name}, {my_age} years old."""
print(text_literal.format(my_name=name, my_age=age))
print("""I am {}, {} years old.""".format(name, age))
print("I am %s, %d years old", name, age)
나는 첫 번째 방법이 제일 직관적인 것 같다.