On 5 December 2017 at 19:23, Chris Angelico <ros...@gmail.com> wrote:
> On Wed, Dec 6, 2017 at 8:19 AM, Neil Schemenauer
> <nas-python-id...@arctrix.com> wrote:
>> I think most people who have tried f-strings have found them handy.
>> Could we transition to making default string literal into an
>> f-string?  I think there is a smooth migration path.
>>
>> f-strings without embedded expressions already compile to the same
>> bytecode as normal string literals.  I.e. no overhead.  The issue
>> will be literal strings that contain the f-string format characters.
>>
>> We could add a future import, e.g.
>>
>>     from __future__ import fstring_literals
>>
>> that would make all literal strings in the module into f-strings.
>> In some future release, we could warn about literal strings in
>> modules without the future import that contain f-string format
>> characters.  Eventually, we can change the default.
>>
>> To make migration easier, we can provide a source-to-source
>> translation tool.  It is quite simple to do that using
>> the tokenizer module.
>
> No. Definitely not. It'd lead to all manner of confusion ("why can't I
> put braces in my string?"), and it's unnecessary. When you want
> interpolation, you put *one letter* in front of the string, and it
> means that most strings aren't magical pieces of executable code. Tiny
> advantage, large potential disadvantage.

One more big NO here -
strings are _data_  not code - this little fact had made
Python easier to learn for decades.
If you need interpolation, and therefore, code that is run in
the context the string is declared, just use f-strings. But f-strings
are not static data, they are objects aware of the point
in the source code file they are declared -  a very different
beast from ordinary strings.


>
> ChrisA
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to