Asked By – mpen
I know it’s a really simple question, but I have no idea how to google it.
how can I do
print '<a href="%s">%s</a>' % (my_url)
my_url is used twice? I assume I have to “name” the
%s and then use a dict in the params, but I’m not sure of the proper syntax?
just FYI, I’m aware I can just use
my_url twice in the params, but that’s not the point 🙂
Now we will see solution for issue: String formatting named parameters?
Solution in Python 3.6+
Python 3.6 introduces literal string formatting, so that you can format the named parameters without any repeating any of your named parameters outside the string:
This will evaluate
my_url, so if it’s not defined you will get a
NameError. In fact, instead of
my_url, you can write an arbitrary Python expression, as long as it evaluates to a string (because of the
:s formatting code). If you want a string representation for the result of an expression that might not be a string, replace
!s, just like with regular, pre-literal string formatting.
For details on literal string formatting, see PEP 498, where it was first introduced.