用法:
class ast.AST
这是所有 AST 节点类的基础。实际的节点类派生自
Parser/Python.asdl
文件,该文件在下面复制。它们在_ast
C 模块中定义,并在ast
中重新导出。为抽象语法中的每个 left-hand 边符号定义了一个类(例如,
ast.stmt
或ast.expr
)。此外,在right-hand 一侧为每个构造函数定义了一个类;这些类继承自left-hand 侧树的类。例如,ast.BinOp
继承自ast.expr
。对于具有备选方案的生产规则(又名“sums”),left-hand 侧类是抽象的:只创建特定构造器节点的实例。ast.T
类的构造函数解析其参数如下:- 如果有位置参数,则必须与
T._fields
中的项目一样多;它们将被分配为这些名称的属性。 - 如果有关键字参数,它们会将相同名称的属性设置为给定值。
例如,要创建和填充
ast.UnaryOp
节点,您可以使用node = ast.UnaryOp() node.op = ast.USub() node.operand = ast.Constant() node.operand.value = 5 node.operand.lineno = 0 node.operand.col_offset = 0 node.lineno = 0 node.col_offset = 0
或更紧凑的
node = ast.UnaryOp(ast.USub(), ast.Constant(5, lineno=0, col_offset=0), lineno=0, col_offset=0)
- 如果有位置参数,则必须与
相关用法
- Python ast.Assert用法及代码示例
- Python ast.Attribute用法及代码示例
- Python ast.AnnAssign用法及代码示例
- Python ast.Assign用法及代码示例
- Python ast.AugAssign用法及代码示例
- Python ast.MatchClass用法及代码示例
- Python ast.ListComp用法及代码示例
- Python ast.Lambda用法及代码示例
- Python ast.IfExp用法及代码示例
- Python ast.Return用法及代码示例
- Python ast.Subscript用法及代码示例
- Python ast.alias用法及代码示例
- Python ast.Slice用法及代码示例
- Python ast.NamedExpr用法及代码示例
- Python ast.MatchAs用法及代码示例
- Python ast.Try用法及代码示例
- Python ast.MatchValue用法及代码示例
- Python ast.Break用法及代码示例
- Python ast.Load用法及代码示例
- Python ast.Set用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ast.AST。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。