Python Glossary English

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

ast.GtE

операторы

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

Синтаксис

ast.GtE()

Имя сокращает «greater than or equal», и это отдельный класс, а не Gt с флагом: проверка isinstance(op, ast.Gt) знак >= не поймает. Смешанная цепочка '0 <= i >= n' законна и даёт ops [LtE, GtE]. Узлы-маркеры сравнивают по типу (isinstance), а не через ==: у узлов ast нет __eq__, и ast.GtE() == ast.GtE() — False.

Примеры

import ast
c = ast.parse('0 <= i >= n', mode='eval').body
print([type(o).__name__ for o in c.ops])  # → ['LtE', 'GtE']
print(isinstance(c.ops[1], ast.Gt))  # → False

См. также

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