MatchAs#

class astroid.nodes.MatchAs(lineno: int | None = None, col_offset: int | None = None, parent: NodeNG | None = None, *, end_lineno: int | None = None, end_col_offset: int | None = None)[source]#

Bases: AssignTypeNode, Pattern

Class representing a ast.MatchAs node.

>>> import astroid
>>> node = astroid.extract_node('''
match x:
    case [1, a]:
        ...
    case {'key': b}:
        ...
    case Point2D(0, 0) as c:
        ...
    case d:
        ...
''')
>>> node.cases[0].pattern.patterns[1]
<MatchAs l.3 at 0x10d0b2da0>
>>> node.cases[1].pattern.patterns[0]
<MatchAs l.5 at 0x10d0b2920>
>>> node.cases[2].pattern
<MatchAs l.7 at 0x10d0b06a0>
>>> node.cases[3].pattern
<MatchAs l.9 at 0x10d09b880>
assigned_stmts(**kwargs: _P.kwargs) Generator[InferenceResult, None, None]#

Returns the assigned statement (non inferred) according to the assignment type. See astroid/protocols.py for actual implementation.

postinit(*, pattern: Pattern | None, name: AssignName | None) None[source]#