边是最简单的一个 match-case 的例子,看起来是不是非常的直观简洁?
def http_error(status):
match status:
case 400:
print("Bad request")
case 404:
print("Not found")
case 418:
print("I'm a teapot")
case _:
print("Something's wrong with the internet")
对这个功能满怀期待的我,赶紧就下载升级了 3.10 的 Python 赶紧试用,可没想到在我深入的体验过后,我从最开始的期待,变成了敬畏。
敬畏,是因为这样一个看似简单的新功能,却有着不少的学习成本,并且对 结构模式匹配 半知半解的人来说,会增大代码出错的概率,并不是大数人都能轻松驾驭的。
我为什么会这么说呢?我会在文章最后来简述我的观点。
鉴于大多数人,都没有实际用过这种 结构模式匹配,我会从 升级 3.10 开始教大家如何尝鲜这个新功能,然后我会详细的介绍 match-case 的使用方法。