Am Fr., 11. Juni 2021 um 14:51 Uhr schrieb Ricky Teachey <ri...@teachey.org >:
> I think this idea is promising but instead of doing it by adding new > syntax and a totally different object, why not attach a __templates__ > dunder member to every string but only OPTIONALLY populate it when a string > is formatted? > > I am very happy that you think this is promising. Changing the interface of every string in Python feels much too big for me. I don't dare to think about it. I have concerns that it could have negative impacts on parts which I am not aware of. > For every regular string it would just be None: > > >>> "".__template__ > >>> > > But if you create a string using an f string, you can provide a directive, > as part of the format specification mini language, to store it: > > >>> s = f"{foo!t}" > > ...or a directive at the front of the string to store all the f string > arguments: > > >>> s = ft"{foo}" > > This would save the values marked for storage as a tuple of Template > arguments in the __templates__ member for later. It may also be desirable > for the Template object to store the name foo and the position in the > string the foo object was formatted. > > The "t" prefix makes sense. I would reduce it from ft'...' to t'...'. But it looks good. This is in the "alternatives": https://github.com/guettli/peps/blob/master/pep-9999.rst#alternative-ideas I am happy with backticks and/or t'...'. Backticks look a bit "cleaner" to my eyes, but I am fine with the "t" prefix, too.
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/XYGGM6O5YMFLNOY4ADCTNFUJIUCQN5PV/ Code of Conduct: http://python.org/psf/codeofconduct/