все Python 3astпонятие
ast.Set
литералы
Узел литерала множества {a, b}: поле elts — список выражений-элементов.
Синтаксис
ast.Set(elts)
Пустые фигурные скобки {} — это Dict, а пустое множество пишется set() и разбирается в Call, поэтому узел Set всегда содержит хотя бы один элемент. {x for x in a} — уже SetComp. В отличие от List и Tuple у Set нет поля ctx: множеству нельзя присвоить.
Примеры
import ast
s = ast.parse('{1, x}', mode='eval').body
print(type(s).__name__, len(s.elts)) # → Set 2
for src in ('{}', 'set()'):
print(type(ast.parse(src, mode='eval').body).__name__) # → Dict / Call
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности