Python Glossary English

все 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Сообщить о неточности