Message250528
| Author |
eric.smith |
| Recipients |
JelleZijlstra, barry, eric.smith, martin.panter, python-dev, yselivanov |
| Date |
2015年09月12日.17:36:01 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1442079361.28.0.0387659033862.issue24965@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
Yes, Jelle, you are correct in all 3 cases. Remember that the steps are to extract the string from the source code, decode backslash escapes, and only then treat it as an f-string.
For the first case, without the 'f' prefix:
'{ {1: 2\N{RIGHT CURLY BRACKET}[1]}' == '{ {1: 2}[1]}'
Then, applying the 'f':
f'{ {1: 2}[1]}' == '2'.
For the last 2, since they're syntax errors without the 'f', they're also syntax errors with the 'f'.
I'll have a new version, with tests for all of these cases, posted in the next few hours. You can leverage the tests. |
|