From a5f12582753a0ae9a64137f93f877faa6de490a5 Mon Sep 17 00:00:00 2001 From: Vadim Nifadev <36514612+nifadyev@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:47:58 +0300 Subject: [PATCH] Translate Skipping lines? example --- translations/README-ru.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/translations/README-ru.md b/translations/README-ru.md index 9eb5ed4..c8af1b4 100644 --- a/translations/README-ru.md +++ b/translations/README-ru.md @@ -3299,3 +3299,41 @@ AttributeError: 'A' object has no attribute '__variable' --- --- + +## Секция: Внешность обманчива! + +### ▶ Пропускаем строки? + +**Результат:** +```py +>>> value = 11 +>>> valuе = 32 +>>> value +11 +``` + +Что за дела? + +**Заметка:** самый простой способ воспроизвести это - просто скопировать утверждения из приведенного выше фрагмента и вставить их в свой файл/оболочку. + +#### 💡 Объяснение + +Некоторые незападные символы выглядят идентично буквам английского алфавита, но интерпретатор считает их разными. + +```py +>>> ord('е') # кириллическое 'е' (ye) +1077 +>>> ord('e') # латинское 'e', используемое в английском языке и набираемое с помощью стандартной клавиатуры +101 +>>> 'е' == 'е' +false + +>>> value = 42 # латинское "е +>>> valuе = 23 # кириллическое "е", интерпретатор python 2.x вызовет здесь `syntaxerror` +>>> value +42 +``` + +Встроенная функция `ord()` возвращает юникод [кодовую точку символа](https://en.wikipedia.org/wiki/code_point), и разные кодовые позиции кириллического 'e' и латинского 'e' оправдывают поведение приведенного выше примера. + +---