當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。