From 8a1536986f14f1bfddfd0c434f4fb178e6171fcb Mon Sep 17 00:00:00 2001 From: Vadim Nifadev <36514612+nifadyev@users.noreply.github.com> Date: Mon, 22 Apr 2024 12:19:28 +0300 Subject: [PATCH] Translate Half triple-quoted strings example --- translations/README-ru.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/translations/README-ru.md b/translations/README-ru.md index 0af0e51..2a8ac33 100644 --- a/translations/README-ru.md +++ b/translations/README-ru.md @@ -1320,3 +1320,33 @@ SyntaxError: invalid syntax * Парсер ожидал, что ключевое слово `not` будет частью оператора `not in` (потому что оба оператора `==` и `not in` имеют одинаковый приоритет), но после того, как он не смог найти ключевое слово `in`, следующее за `not`, он выдает `SyntaxError`. --- + + +### ▶ Строки наполовину в тройных кавычках + +**Вывод:** +```py +>>> print('wtfpython''') +wtfpython +>>> print("wtfpython""") +wtfpython +>>> # Выражения ниже приводят к `SyntaxError` +>>> # print('''wtfpython') +>>> # print("""wtfpython") + File "", line 3 + print("""wtfpython") + ^ +SyntaxError: EOF while scanning triple-quoted string literal +``` + +#### 💡 Объяснение: ++ Python поддерживает неявную [конкатенацию строковых литералов](https://docs.python.org/3/reference/lexical_analysis.html#string-literal-concatenation), Пример, + ``` + >>> print("wtf" "python") + wtfpython + >>> print("wtf" "") # or "wtf""" + wtf + ``` ++ `'''` и `"""` также являются разделителями строк в Python, что вызывает SyntaxError, поскольку интерпретатор Python ожидал завершающую тройную кавычку в качестве разделителя при сканировании текущего встреченного строкового литерала с тройной кавычкой. + +---