все Python 3astпонятие
ast.Or
операторы
Оператор or в поле op узла BoolOp; операнды лежат списком в values.
Синтаксис
ast.Or()
Цепочка a or b or c — один BoolOp(Or) с тремя values, а не вложенные пары, как у BinOp. Смешение and и or даёт вложенность по приоритету: a or b and c — Or, второй элемент которого — BoolOp(And). Or не встречается в BinOp: побитовое | — это BitOr.
Примеры
import ast
n = ast.parse('a or b or c', mode='eval').body
print(type(n).__name__, type(n.op).__name__, len(n.values)) # → BoolOp Or 3
m = ast.parse('a or b and c', mode='eval').body
print(type(m.values[1].op).__name__) # → And
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности