>>>>> "GvR" == Guido van Rossum <guido@python.org> writes: GvR> I think little would be lost if sub() always required a dict GvR> (or perhaps keyword args, although that feels like a YAGNI GvR> now). IME, doing the locals/globals trick is really helpful, but I might be willing to let go on that one, because I can wrap that functionality in my _() function. The reason for this is that I'd say 80-90% of the time, you have value you want to interpolate into the string sitting around handy in a local variable. And that local variable has the name of the key in the template string. So what you (would) end up doing is: ... name = getNameSomehow() ... country = getCountryOfOrigin(name) ... return '$name was born in $country'.sub({'name': name, 'country': country}) Do that a few hundred times and you start wanting to make that a lot more concise. :) GvR> I think that the key thing here is to set the precedent of GvR> using $ and the specific syntax proposed, not necessarily to GvR> have this as a built-in string methong. I'll note that before this idea gained PEPhood, Guido and I discussed using an operator, like: return '$name was born in $country' / dict but came around to the current proposal's string method. I agree with Guido that it's the use of $strings that is important here, and I don't care how the interpolation is actually done (builtin, string method, etc.), though relegating it to a module would, I think, make this a rarely used syntax. -Barry
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4