Pampy - Pattern Matching for Python

查看原文

Pampy 是一个 Python 的模式匹配的库。

from pampy import match, _

def fibonacci(n):
    return match(n,
        1, 1,
        2, 1,
        _, lambda x: fibonacci(x-1) + fibonacci(x-2)
    )

可以对 dict 进行解构:

>>> print(match({"a": "b", "c": "d"}, {"a": _, _: "d"}, lambda x, y: (x, y)))
("b", "c")

能简化不少代码,缺点是 _ 可能会被别的库用作别的用途。