1
0
mirror of https://github.com/satwikkansal/wtfpython synced 2024-11-24 12:04:24 +01:00

Translate Skipping lines? example

This commit is contained in:
Vadim Nifadev 2024-04-24 15:47:58 +03:00
parent b5c20d02ea
commit a5f1258275

View File

@ -3299,3 +3299,41 @@ AttributeError: 'A' object has no attribute '__variable'
---
---
## Секция: Внешность обманчива!
### ▶ Пропускаем строки?
<!-- Example ID: d50bbde1-fb9d-4735-9633-3444b9d2f417 --->
**Результат:**
```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' оправдывают поведение приведенного выше примера.
---