On Friday 12 July 2002 10:47 am, Guido van Rossum wrote: > (FWIW, I agree with your other observations -- this was why I > support exploring an alternative in PEP 292.) The syntax rules of PEP 292 are likely to cause confusion for newbies who have never used sh or perl. They will ask why Python have two syntaxes for doing string substitutions? Why not always spell the substitution string with ${identifier} or %(identifier)? The third rule of PEP292 in particular look like a patch to fix a kludge when an unanticipated exception was discovered. 3. ${identifier} is equivalent to $identifier. It is required for when valid identifier characters follow the placeholder but are not part of the placeholder, e.g. "${noun}ification". > On Sunday 23 June 2002 02:16 pm, Lalo Martins wrote: > > More, I'm completely opposed to "<<name>> is <<age:.0d>> years old" > > because it's still cryptic and invasive. This should instead read similar > > to "<<name>> is <<age>> years old".sub({'name': x.name, 'age': > > x.age.format(None, 0)}) > > > Guido, can you please, for our enlightenment, tell us what are the > > reasons you feel %(foo)s was a mistake? > > Because of the trailing 's'. It's very easy to leave it out by > mistake, and because the definition of printf formats skips over > spaces (don't ask me why), the first character of the following word > is used as the type indicator. It's easy to leave it out by mistake, but the error is almost always immediately obvious. In the interest of keeping the language as simple as possible, I hope no changes are made. If a method based .sub() capability is to be added, why not reuse the %(identifier) syntax instead of introducing $ and ${} syntax? The .sub() string method would use the %(identifier) syntax without the 's' to spell the new substitution format. Instead of the proposed: '$name was born in ${country}'.sub() the phrase would be spelled: '%(name) was born in %(country)'.sub() This approach would introduce one new string method with a small variation on the existing '%' substitution syntax.
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