Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #197445

Re: backslash in triple quoted string

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Left Right <olegsivokon@gmail.com>
Newsgroups comp.lang.python
Subject Re: backslash in triple quoted string
Date Sun, 11 May 2025 12:36:31 +0200
Lines 57
Message-ID <mailman.36.1746959805.3008.python-list@python.org> (permalink)
References <CA+HdcZhMPvojVkAnGNy6-qA1Lf8LDG_Wjxef0xfSNQzU=BUEzw@mail.gmail.com> <CAJQBtgmV0+EViR6yWoY22VjHiVZOD6eaPiAhDfUMJRQRj=PfCQ@mail.gmail.com> <CAJQBtgk7ZoURixi3404asBzJX4X2A5pbCsd6SVWuqbqnMgOgQw@mail.gmail.com> <20250511095858.rwhc7qazptpzntgo@hjp.at> <CAJQBtg=vMh7p5UKgScRzFB7vY3XyrdpXWjTTN+prgrBJPV9sfQ@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
X-Trace news.uni-berlin.de 8n4mrZl7FK9a4L4fhWksHQcH/Ut4LLiBogLyoSp/W0lw==
Cancel-Lock sha1:n88+5Q53ZW2hqN/b6ZcfhcK/d/8= sha256:vU/cDna1DexoTttp2vWQGNup5As6r5MVCFWJKvdtBcE=
Return-Path <olegsivokon@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
Authentication-Results mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=jioSly5/; dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status OK 0.033
X-Spam-Evidence '*H*': 0.93; '*S*': 0.00; 'programmer': 0.07; 'sun,': 0.07; 'python.': 0.08; 'url:mailman': 0.09; 'url:reference': 0.09; 'syntax': 0.15; 'url:listinfo': 0.15; '"creative': 0.16; '+0200,': 0.16; '2025': 0.16; '__/': 0.16; 'backslash': 0.16; 'both.': 0.16; 'challenge!"': 0.16; 'exception.': 0.16; 'hjp@hjp.at': 0.16; 'holzer': 0.16; 'mentions': 0.16; 'reality.': 0.16; 'received :mail-qt1-x82a.google.com': 0.16; 'stross,': 0.16; 'subject:string': 0.16; 'tedious': 0.16; 'url- ip:212.17.106.129/32': 0.16; 'url-ip:212.17.106/24': 0.16; 'url- ip:212.17/16': 0.16; 'url:hjp': 0.16; '|_|_)': 0.16; 'wrote:': 0.16; 'python': 0.16; 'instead': 0.17; 'probably': 0.17; 'to:addr :python-list': 0.20; 'url-ip:188.166.95.178/32': 0.20; 'url- ip:188.166.95/24': 0.20; 'url-ip:188.166/16': 0.20; 'language': 0.21; 'code': 0.23; 'python,': 0.25; 'actual': 0.25; '11,': 0.26; "isn't": 0.27; 'bit': 0.27; 'done': 0.28; 'sense': 0.28; 'error': 0.29; 'comment': 0.31; 'message-id:@mail.gmail.com': 0.31; 'program': 0.31; "doesn't": 0.32; 'amounts': 0.32; 'python-list': 0.32; 'words,': 0.32; 'but': 0.32; 'received:google.com': 0.34; "didn't": 0.34; 'work.': 0.34; 'from:addr:gmail.com': 0.35; 'invalid': 0.35; 'words': 0.35; 'header:In-Reply-To:1': 0.35; 'also,': 0.36; 'fix': 0.36; "it's": 0.36; 'work,': 0.36; 'source': 0.36; 'change': 0.36; '...': 0.37; "skip:' 10": 0.37; 'using': 0.37; 'could': 0.37; 'url-ip:151.101.0.223/32': 0.37; 'url- ip:151.101.128.223/32': 0.37; 'url-ip:151.101.192.223/32': 0.37; 'url-ip:151.101.64.223/32': 0.37; 'author': 0.37; 'though': 0.37; 'url-ip:188/8': 0.38; 'means': 0.38; 'put': 0.38; 'use': 0.39; 'two': 0.39; "that's": 0.39; 'enough': 0.39; 'valid': 0.39; 'seeing': 0.39; 'wrote': 0.39; 'appears': 0.40; 'program.': 0.40; 'should': 0.40; 'here.': 0.61; 'above': 0.62; 'gives': 0.62; 'follow': 0.62; 'clear': 0.64; 'claims': 0.64; 'decided': 0.67; 'right': 0.68; 'further': 0.69; 'lie': 0.69; 'obvious': 0.69; 'sequence': 0.69; 'strong': 0.69; 'raised': 0.70; 'rules': 0.70; 'chance': 0.71; 'future': 0.72; 'recognized': 0.75; 'supposed': 0.76; 'left': 0.83; 'happens': 0.84; "'invalid": 0.84; 'grammar,': 0.84; 'mutually': 0.84; 'really.': 0.84; 'sequence.': 0.84; 'warning': 0.84; 'grammar': 0.91; 'usage.': 0.91; 'cut': 0.95
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746959802; x=1747564602; darn=python.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4Ns6sjAtlnarYozVtOtwvHydijjKbxN+O2SEPDSBFXc=; b=jioSly5/0axDnah786knmOME8K7Oq5D5w1Ea4uTIckH3DjHw0L+DjduI+FD0M9oYT2 4lmQKY15qp8Ib/abtwLick3Pfoe0OwuIcKVUkxkun4Hjo0CtCFNsNjR8mXaA5gpxRaDu 95yn3+SDcT7Cd7ErLW/lEvjX/9hxMYH+195SjSP5c/PRnYMG2p7t9peMF8wmWuAOvY+o Wq55keCquFnn4MxSF8jQ2PhsdB4HWiaQ3P/YxDd6ohFXfv4hQ9xQOZ/3gB+hqoLxCnzw Ld/BKuV53nzRT5fd6FEwnGaBtS7YTGcPZHotTffrSOOaHjQFzzPbGsLCWRO0QeEiFvHN 9Oag==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746959802; x=1747564602; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4Ns6sjAtlnarYozVtOtwvHydijjKbxN+O2SEPDSBFXc=; b=FbsxoKIikM1nYTp2ZBom/vStpJCxNO1Mc0PWLWzPALFP4tWleilfKYTrJTFQIgpm+n gSydlKDgY+G4lEaM9/yT9N+/JrpC5F/n9S2sglslt4CqLDUiiJZ7fBREJ2NDeTLJidkB +0SLg7b5crrGl7/YtzkVZPEOebJEaNrbHPsgbFAJT/3ChT9Ml0CJZWHzmn//UltZcpXr dEmXA3DZWmWfCRpNIRQ1w24/+E5fAg+NtRnORWIoFEzFdf6n99YuiZGuEb0yH29U+ErM f5FJMgMwF9OLDlbQSsz4vqB5jH9rfk28UVZl4aQpIaff6EFpOo8AvF5wcS6jxX3ktGeP LMoA==
X-Forwarded-Encrypted i=1; AJvYcCV1JyTcA0h2jJn5ywRC1ZKwHh+hCDddxabiL3QpiTJgrPyJdZ5P/00hptOuSYfeSNe24/OEdWuHJ1ZFWA==@python.org
X-Gm-Message-State AOJu0YzHHaGtWBysWeDe713yJbSADlYphzXhbRLSv6yN/d5EzJkAOTY+ f5bSBQCttMsMw+J4iVCjHqs5GwmNDDh8VrTVC9VpAVm1IXYmm/PS4kdPw8if8mdAPbmpbsEzGYD 7L+N0vf/OfRMdEn5Ctt/3SIqRW0XiXQ==
X-Gm-Gg ASbGnctUWzxY7e8qVxH4FUcJXtkFaD5O1W5tdbqrod3Ka6Y9WuR4gZHIoTSJkgVNvtP vDGipUXKw0F4/d3iyz2R56s9Ekg4a9iLAWqS4OgmEteLloxMZtqpFDra7fRmOAhtuLuU/ZC56XT p5J7MVOPjg+PuBAAr8VR8wEAOiicqTLXiuAUkO1rNFkUk9/Fkov9upbEBnNiEWpOA=
X-Google-Smtp-Source AGHT+IG34PFwfr4ConMsD4O/7FeN+PrRVFv4fOwwXkSn9VMw4ySB0IDaIf3PFmBtyy1kqnr7wUrcLavNYsJ3sUjm74Y=
X-Received by 2002:ac8:5a42:0:b0:477:bd4:6a4c with SMTP id d75a77b69052e-4945298d012mr120840221cf.1.1746959802407; Sun, 11 May 2025 03:36:42 -0700 (PDT)
In-Reply-To <20250511095858.rwhc7qazptpzntgo@hjp.at>
X-Gm-Features AX0GCFvTZGODvvsbtikXoTxre3KSk3elaYWsBcxr6KNOWr-O9Hu4LX-I_t2Tf28
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.39
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <https://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CAJQBtg=vMh7p5UKgScRzFB7vY3XyrdpXWjTTN+prgrBJPV9sfQ@mail.gmail.com>
X-Mailman-Original-References <CA+HdcZhMPvojVkAnGNy6-qA1Lf8LDG_Wjxef0xfSNQzU=BUEzw@mail.gmail.com> <CAJQBtgmV0+EViR6yWoY22VjHiVZOD6eaPiAhDfUMJRQRj=PfCQ@mail.gmail.com> <CAJQBtgk7ZoURixi3404asBzJX4X2A5pbCsd6SVWuqbqnMgOgQw@mail.gmail.com> <20250511095858.rwhc7qazptpzntgo@hjp.at>
Xref csiph.com comp.lang.python:197445

Show key headers only | View raw


Then it just means that the grammar lies. The two claims are mutually
exclusive, so either one is a lie or the other or both.

My comment was more of an irony really. It's plenty obvious that the
grammar is a lie. The reason is that it's tedious to put the actual
intender rules into the grammar, and so whoever wrote the grammar
decided to cut corners. But, the grammar is supposed to be the
authoritative source for how the language is parsed, that's why even
though it's clear that the grammar is a lie, blaming whoever doesn't
follow it makes it ironic.

In other words, the grammar author didn't put enough effort into
making grammar actually work, but seeing how many other things are
done in Python, this is not an exception. It would've been strange to
have it done properly when "properly" means doing copious amounts of
tedious work.

On Sun, May 11, 2025 at 12:11 PM Peter J. Holzer via Python-list
<python-list@python.org> wrote:
>
> On 2025-05-08 08:05:54 +0200, Left Right via Python-list wrote:
> > Also, it appears that the change linked above is a lie:
>
> Such strong words ...
>
>
> > 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.
>
> Warnings are about technically correct but probably unintended usage.
>
> The documentation you linked to describes (a bit further down) which
> escape sequences are recognized and what happens if you use an
> unrecognized escape sequence. It also mentions that using an
> unrecognized escape sequence *will* be an error in future versions of
> Python.
>
> A warning is appropriate here. It gives the programmer a chance to fix
> the program now before it breaks.
>
> One could argue that it should say 'unrecognized escape sequence'
> instead of 'invalid escape sequence', since it isn't invalid yet, but
> that's nitpicking.
>
>         hjp
>
> --
>    _  | Peter J. Holzer    | Story must make more sense than reality.
> |_|_) |                    |
> | |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
> __/   | http://www.hjp.at/ |       challenge!"
> --
> https://mail.python.org/mailman/listinfo/python-list

Back to comp.lang.python | Previous | NextNext in thread | Find similar


Thread

Re: backslash in triple quoted string Left Right <olegsivokon@gmail.com> - 2025-05-11 12:36 +0200
  Re: backslash in triple quoted string Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-05-11 15:02 -0700
    Re: backslash in triple quoted string Left Right <olegsivokon@gmail.com> - 2025-05-12 20:42 +0200
      Re: backslash in triple quoted string Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-05-12 13:55 -0700

csiph-web