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


Python ast.MatchMapping用法及代码示例


用法:

class ast.MatchMapping(keys, patterns, rest)

匹配映射模式。 keys 是表达式节点的序列。 patterns 是对应的模式节点序列。 rest 是一个可选名称,可以指定它来捕获剩余的映射元素。如匹配语句文档中所述,允许的键表达式受到限制。

如果主题是映射,则此模式成功,所有评估的键表达式都存在于映射中,并且与每个键对应的值与相应的子模式匹配。如果 rest 不是 None ,则如果整个映射模式成功,则包含剩余映射元素的 dict 将绑定到该名称。

>>> print(ast.dump(ast.parse("""
... match x:
...     case {1: _, 2: _}:
...         ...
...     case {**rest}:
...         ...
... """), indent=4))
Module(
    body=[
        Match(
            subject=Name(id='x', ctx=Load()),
            cases=[
                match_case(
                    pattern=MatchMapping(
                        keys=[
                            Constant(value=1),
                            Constant(value=2)],
                        patterns=[
                            MatchAs(),
                            MatchAs()]),
                    body=[
                        Expr(
                            value=Constant(value=Ellipsis))]),
                match_case(
                    pattern=MatchMapping(keys=[], patterns=[], rest='rest'),
                    body=[
                        Expr(
                            value=Constant(value=Ellipsis))])])],
    type_ignores=[])

相关用法


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