← Все вопросы
Что значат is not и not in в Python?
10
Встречаю if x is not None и if 'a' not in s. Это два отдельных оператора или просто not приклеили? Как читать?
3 ответа
19
Это самостоятельные операторы-связки, читаются буквально:
x is not None— «x не является None» (проверка идентичности, отрицаниеis).'a' not in s— «'a' не содержится в s» (отрицаниеin).
if name is not None:
print(name)
if 5 not in [1, 2, 3]:
print('нет пятёрки')
Читается приятнее, чем not (x is None) или not ('a' in s), хотя результат тот же.
Дмитрий Бутырев is not именно для None/синглтонов, для значений всё равно ==/!= · 18 месяцев назад
6
is not — отрицание is, not in — отрицание in. Читаются как по-английски.
2
Да, можно и not (x in s), но x not in s короче и принято писать так.
Ваш ответ
Войдите, чтобы ответить на вопрос.