Python 3 has powerful string formatting and templating mechanisms that allow us to construct strings comprised of hardcoded text and interspersed variables. We've used it in many previous examples, but it is much more versatile than the simple formatting specifiers we've used.
A string can be turned into a format string (also called an f-string) by prefixing the opening quotation mark with an f, as in f"hello world". If such a string contains the special characters { and }, variables from the surrounding scope can be used to replace them as in this example:
name = "Dusty"
activity = "writing"
formatted = f"Hello {name}, you are currently {activity}."
print(formatted)
If we run these statements, it replaces the braces with variables, in order:
Hello Dusty, you are currently writing.