当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ast.AnnAssign用法及代码示例


用法:

class ast.AnnAssign(target, annotation, value, simple)

带有类型注释的赋值。 target 是单个节点,可以是 NameAttributeSubscriptannotation 是注解,例如ConstantName 节点。 value 是单个可选节点。 simple 是一个布尔整数,为 target 中的 Name 节点设置为 True,它不会出现在括号之间,因此是纯名称而不是表达式。

>>> print(ast.dump(ast.parse('c: int'), indent=4))
Module(
    body=[
        AnnAssign(
            target=Name(id='c', ctx=Store()),
            annotation=Name(id='int', ctx=Load()),
            simple=1)],
    type_ignores=[])

>>> print(ast.dump(ast.parse('(a): int = 1'), indent=4)) # Annotation with parenthesis
Module(
    body=[
        AnnAssign(
            target=Name(id='a', ctx=Store()),
            annotation=Name(id='int', ctx=Load()),
            value=Constant(value=1),
            simple=0)],
    type_ignores=[])

>>> print(ast.dump(ast.parse('a.b: int'), indent=4)) # Attribute annotation
Module(
    body=[
        AnnAssign(
            target=Attribute(
                value=Name(id='a', ctx=Load()),
                attr='b',
                ctx=Store()),
            annotation=Name(id='int', ctx=Load()),
            simple=0)],
    type_ignores=[])

>>> print(ast.dump(ast.parse('a[1]: int'), indent=4)) # Subscript annotation
Module(
    body=[
        AnnAssign(
            target=Subscript(
                value=Name(id='a', ctx=Load()),
                slice=Constant(value=1),
                ctx=Store()),
            annotation=Name(id='int', ctx=Load()),
            simple=0)],
    type_ignores=[])

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ast.AnnAssign。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。