
Sorry, but I'm afraid you are projecting your thinking onto others. The syntactical constructs are called “string interpolations”, not “interpolated strings”. I.e. they're interpolations (a certain type of action) on strings. Strings are the objects, not the subjects. Strings are data, we have code/expressions that look like strings with holes, but in reality, only the parts outside of the braces are strings. I hope I explained my semantics here adequately. Even if they're internally post-processed strings in the CPython code: that's an implementation detail, not a description of the way they work for Python users. Best, Philipp Chris Angelico <rosuav@gmail.com> schrieb am Di., 30. Aug. 2016, 15:43:
My issue is just that it’s as much of a string as a call of a (string returning) function/method or an expression concatenating strings:
''.join(things) # would you call this a string? '{!r}'.format(x) # or this? it’s basically the same as this “f-string”: f'{x!r}' 'start' + 'end' # or this? it’s a concatenation of two strings, just
On Tue, Aug 30, 2016 at 10:56 PM, Philipp A. <flying-sheep@web.de> wrote: like
f'start{ "end" }'
Yes, an f-string is really a form of expression, not a literal. But prior art has generally been to have similar constructs referred to as "interpolated strings" or similar terms:
https://en.wikipedia.org/wiki/String_interpolation
Plenty of languages have some such feature, and it's usually considered a type of string. Notice the close parallels between actual string literals used as format strings ("I have %d apples" % apples) and f-strings (f"I have {apples} apples"), and how this same parallel can be seen in many other languages. Yes, it may be a join expression to the compiler, but it's a string to the programmer.
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/