Python Glossary English

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

ast.LtE

операторы

Маркер сравнения <= в дереве ast: лежит в поле Compare.ops и полей не имеет.

Синтаксис

ast.LtE()

Отдельный класс, а не Lt с признаком «или равно»: чтобы поймать оба знака, проверяйте isinstance(op, (ast.Lt, ast.LtE)). Знак '<=' между множествами (подмножество) даёт тот же LtE — дерево не знает типов операндов. Узлы-маркеры сравнивают по типу (isinstance), а не через ==: у узлов ast нет __eq__, и ast.LtE() == ast.LtE() — False.

Примеры

import ast
c = ast.parse('a <= b', mode='eval').body
op = c.ops[0]
print(type(op).__name__, isinstance(op, ast.Lt), isinstance(op, (ast.Lt, ast.LtE)))  # → LtE False True

См. также

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