python的模式匹配
patterns的Python项目详细描述
python的模式匹配。在python 2.7、3.3+和pypy中工作。
安装
pip install patterns
用法
frompatternsimportpatterns,Mismatch@patternsdeffactorial():if0:1ifnisint:n*factorial(n-1)if[]:[]if[x]+xs:[factorial(x)]+factorial(xs)if{'n':n,'f':f}:f(factorial(n))assertfactorial(0)==1assertfactorial(5)==120assertfactorial([3,4,2])==[6,24,2]assertfactorial({'n':[5,1],'f':sum})==121factorial('hello')# raises Mismatch
有关更多示例,请参见测试。
待办事项
- 文档
- 结构的别名
- 解构对象
- 名称参数
- 更好地处理Mismatch传递给函数env
- 非严格dict匹配