Re: backslash in triple quoted string

Liste des GroupesRevenir à cl python 
Sujet : Re: backslash in triple quoted string
De : list1 (at) *nospam* tompassin.net (Thomas Passin)
Groupes : comp.lang.python
Date : 13. May 2025, 14:34:39
Autres entêtes
Message-ID : <mailman.52.1747155796.3008.python-list@python.org>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 5/8/2025 2:05 AM, Left Right via Python-list wrote:
Also, it appears that the change linked above is a lie:
 https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-python-grammar-longstringitem
 According to the grammar, any character can follow backslash in a
valid Python program. The warning / error raised by this code should
not be a syntax error / warning because the syntax is correct.
"Changed in version 3.12: Unrecognized escape sequences produce a SyntaxWarning. In a future Python version they will be eventually a SyntaxError."
See https://docs.python.org/3/reference/lexical_analysis.html#strings
Test case for "\" in triple-quoted string:
[code]
def f():
...    """\hello"""
<stdin>:2: SyntaxWarning: invalid escape sequence '\h'
...    print('hi')
...

f()
hi
[/code]
This example fits the documentation exactly. A SyntaxWarning is emitted for the unrecognized escape sequence "\h". The program runs as intended.
Please let's drop all the OT back-and-forth.

On Thu, May 8, 2025 at 7:54 AM Left Right <olegsivokon@gmail.com> wrote:
>
I think it could be this:
>
A backslash-character pair that is not a valid escape sequence now
generates a SyntaxWarning, instead of DeprecationWarning. For example,
re.compile("\d+\.\d+") now emits a SyntaxWarning ("\d" is an invalid
escape sequence, use raw strings for regular expression:
re.compile(r"\d+\.\d+")). In a future Python version, SyntaxError will
eventually be raised, instead of SyntaxWarning. (Contributed by Victor
Stinner in gh-98401.)
>
Found in:
https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
>
It's not supposed to crash your program though. If the program crashes
because of it, it's a bug in Python.
>
On Thu, May 8, 2025 at 7:00 AM Bob van der Poel via Python-list
<python-list@python.org> wrote:
>
Did something change in python buggering up my use of a "\ " sequence in a
triple quoted string?
>
I have yet to go through my archive on the program, but I tried to run it
today and it crashed quite spectacularly when it hit a """ .... """ line
being used as a comment at the top of a function. I changed the "\" to a
"/" and all is well now.
>
>
--
>
**** Listen to my FREE CD at http://www.mellowood.ca/music/cedars ****
Bob van der Poel ** Wynndel, British Columbia, CANADA **
EMAIL: bob@mellowood.ca
WWW:   http://www.mellowood.ca
--
https://mail.python.org/mailman/listinfo/python-list

Date Sujet#  Auteur
13 May 25 o Re: backslash in triple quoted string1Thomas Passin

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal