Python Glossary English

все Python 3astпонятие

ast.NotEq

операторы

Оператор сравнения != в списке ops узла Compare.

Синтаксис

ast.NotEq()

Сравнения в ast не бинарные: a != b != c — один Compare с двумя NotEq в ops и двумя comparators, а не вложенные узлы, и означает a != b and b != c — то есть a и c могут быть равны. Оператор лежит в списке, поэтому проверка «это !=» — isinstance(n.ops[i], ast.NotEq), а не поле op. Старого <> в Python 3 нет: ast.parse даст SyntaxError.

Примеры

import ast
n = ast.parse('a != b != c', mode='eval').body
print(type(n).__name__, [type(o).__name__ for o in n.ops], len(n.comparators))  # → Compare ['NotEq', 'NotEq'] 2
print(1 != 2 != 1)  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности