用法:
class ast.match_case(pattern, guard, body)
match
语句中的单个案例模式。pattern
包含将匹配主题的匹配模式。请注意,为模式生成的AST
节点与为表达式生成的节点不同,即使它们共享相同的语法。guard
属性包含一个表达式,如果模式与主题匹配,则将评估该表达式。body
包含在模式匹配并且评估保护表达式的结果为真时要执行的节点列表。>>> print(ast.dump(ast.parse(""" ... match x: ... case [x] if x>0: ... ... ... case tuple(): ... ... ... """), indent=4)) Module( body=[ Match( subject=Name(id='x', ctx=Load()), cases=[ match_case( pattern=MatchSequence( patterns=[ MatchAs(name='x')]), guard=Compare( left=Name(id='x', ctx=Load()), ops=[ Gt()], comparators=[ Constant(value=0)]), body=[ Expr( value=Constant(value=Ellipsis))]), match_case( pattern=MatchClass( cls=Name(id='tuple', ctx=Load()), patterns=[], kwd_attrs=[], kwd_patterns=[]), body=[ Expr( value=Constant(value=Ellipsis))])])], type_ignores=[])
相关用法
- 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.Assert用法及代码示例
- Python ast.Break用法及代码示例
- Python ast.Load用法及代码示例
- Python ast.Set用法及代码示例
- Python ast.MatchStar用法及代码示例
- Python ast.Expr用法及代码示例
- Python ast.Attribute用法及代码示例
- Python ast.ImportFrom用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 ast.match_case。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。