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' оправдывают поведение приведенного выше примера. + +---