From 497b9de72b073a38c071f4170073b513e5c3f7b2 Mon Sep 17 00:00:00 2001 From: Vadim Nifadev <36514612+nifadyev@users.noreply.github.com> Date: Fri, 19 Apr 2024 14:31:02 +0300 Subject: [PATCH] Translate is not ...is (not ...) example --- translations/README-ru.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/translations/README-ru.md b/translations/README-ru.md index d89a3ce..0f4387d 100644 --- a/translations/README-ru.md +++ b/translations/README-ru.md @@ -844,7 +844,7 @@ array_4 = [400, 500, 600] [401, 501, 601, 402, 502, 602, 403, 503, 603] ``` -#### 💡 Пояснение +#### 💡 Объяснение - В выражении [генераторе](https://wiki.python.org/moin/Generators) условие `in` оценивается во время объявления, но условие `if` оценивается во время выполнения. - Перед выполнением кода, значение переменной `array` изменяется на список `[2, 8, 22]`, а поскольку из `1`, `8` и `15` только счетчик `8` больше `0`, генератор выдает только `8`. @@ -856,3 +856,21 @@ array_4 = [400, 500, 600] > Только крайнее for-выражение исполняется немедленно, остальные выражения откладываются до запуска генератора. --- + + +### ▶ `is not ...` не является `is (not ...)` + +```py +>>> 'something' is not None +True +>>> 'something' is (not None) +False +``` + +#### 💡 Объяснение + +- `is not` является единым бинарным оператором, и его поведение отличается от раздельного использования `is` и `not`. +- `is not` имеет значение `False`, если переменные по обе стороны оператора указывают на один и тот же объект, и `True` в противном случае. +- В примере `(not None)` оценивается в `True`, поскольку значение `None` является `False` в булевом контексте, поэтому выражение становится `'something' is True`. + +---