一文了解 Python 中的新功能:match-case 多分支选择语句¶
Python 编程语言正在不断发展,每次更新都会添加新的特性和功能。Python 3.10 发布后,增加了多分支选择语句,也称为 match-case 语句。这是 Python 3.10 最重要的新功能,允许在多个条件下更轻松地控制程序流程。
在本文中,我们将学习 Python 中的 match-case 语句。
match-case 语法格式:¶
parameter = "zbxx.net"
match parameter:
case first :
do_something(first)
case second :
do_something(second)
............
............
case n :
do_something(n)
case _ :
nothing_matched_function()
match-case 语句使用 match 关键字初始化并获取一个参数,然后使用 case 关键字与参数匹配。“_”是通配符,当没有任何匹配项时运行。
match-case 实例:¶
day=input("请输入一个数字(1 - 7):")
match day:
case "1":
print("星期一")
case "2":
print("星期二")
case "3":
print("星期三")
case "4":
print("星期四")
case "5":
print("星期五")
case "6":
print("星期六")
case "7":
print("星期日")
case _:
print("请输入一个有效数字!")
match-case 匹配类型和结构¶
Python 的另一个令人难以置信的功能是能够匹配类型和结构。这意味着 Python 可以判断一个对象是否是可迭代的,可以从中提取值,检查传入的内容的类型。
values=['zbxx.net']
match values:
case [a]:
print(f'只有一个元素:{a}')
case [a, b]:
print(f'两个元素:{a},{b}')
case [a, b, c]:
print(f'三个元素:{a},{b},{c}')
case [a, b, c, *other]:
print(f'不止三个元素:{a}{b}{c},还有:{other}')
#输出:只有一个元素:zbxx.net
values=['https://','www.','zbxx.net','1','2','3']
match values:
case [a]:
print(f'只有一个元素:{a}')
case [a, b]:
print(f'两个元素:{a},{b}')
case [a, b, c]:
print(f'三个元素:{a},{b},{c}')
case [a, b, c, *other]:
print(f'不止三个元素:{a}{b}{c},还有:{other}')
#输出:不止三个元素:https://www.zbxx.net,还有:['1', '2', '3']
def type_of(var):
match var:
case int() | float() as var:
return "数值"
case dict() as var:
return "字典"
case list() | tuple() | set() as var:
return "列表,元组,集合"
case str() as var:
return "字符串"
case _:
return "其他类型"
print(type_of(1)) #输出:数值
print(type_of((1,2))) #输出:列表,元组,集合
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!