Hacker News new | ask | show | jobs
by connellybarnes 6701 days ago
The string interpolation operator isn't ideal. It isn't associative, so you can't paste in a few variables, and then a few more later, and it raises an exception rather than simply putting a message such as "Missing variable: X" in the output HTML.

I fixed this by simply using string replace(), and suitably unique replace tokens.

(Then again, I program in Notepad, preferring it for aesthetic reasons over Emacs, so go figure :-)

1 comments

If missing variables are an issue you could use defaultdict.

http://docs.python.org/lib/defaultdict-objects.html

Good point, and thanks for pointing out defaultdict(); I wasn't even aware of that class. I suppose one could use defaultdict() to gain associativity also (pass 'not found' variables through unmodified). I think I still slightly prefer replace(), for uninteresting reasons.