在case的标量,也可以是多值,多值之间通过|分割(与C、JAVA的switch-case不同),例如: ... case 401|403|404: return "Not allowed" match-case只有OR模式,没有AND模式 匹配枚举 可以通过定义枚举值来进行条件匹配,match-case看上去是把枚举值当做标量来处理。 class Color(): RED = 1 GREEN = 2 BLUE = ...
case Point(x=x, y=0): print(f"Point is on the X axis at {x}") case Point(x, y): print(f"Point is at ({x}, {y})") case _: print("Not a point") OR 模式 使用| 来表示一个或多个模式。 x = 2 match x: case 1 | 2 | 3: print("x is 1, 2, or 3") case _:...
# match-case的基本例子color=input("请输入需要查询的颜色:")matchcolor:case"red"|"红"|"红色":r,g,b=255,0,0case"green"|"绿"|"绿色":r,g,b=0,255,0case"yellow"|"黄"|"黄色":r,g,b=255,255,0case_:r,g,b=-1,-1,-1ifr>=0:print(f"{color}的颜色代码:#{r:02X}{g:02X}{b...
现在,我们要使用match-case语法来匹配来自此类的实例并根据属性显示一条消息。 defdirection(loc):matchloc:caseDirection(horizontal='east',vertical='north'):print('You towards northeast')caseDirection(horizontal='east',vertical='south'):print('You towards southeast')caseDirection(horizontal='west',vertica...
value = "apple"# 使用match-case语法检查value是否在指定集合中 match value:case {"apple", "banana...
就在国庆期间( 2021年10月4日),Python 终于正式发布了 3.10 版本,看了下这个版本的一些特性,最受关注的应该就是结构模式匹配了吧?也就是大家所熟悉的switch-case,写错了不好意思,是 match-case。 下边是最简单的一个 match-case 的例子,看起来是不是非常的直观简洁?
有了match case之后,我们可以这样做匹配:defselect_platform(name): match name: case "小破站": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "Z乎": print(f"程序员晚枫的{name}账号名称是:程序员晚枫") case "小红薯": print(f"程序员晚枫的{name}账号名称是:...
事实上,对于这个特定的例子,match-case 没有比 if-else 语法带来任何好处,如下所示。 def http_error(status): if status == 400: return "Bad request" elif status == 401: return "Unauthorized" elif status == 403: return "Forbidden" elif status == 404: ...
“match...case”语法类似于其他面向对象语言中的 switch 语句,它旨在使结构与 case 的匹配更容易。 让我们开始. 语法 “match...case”语法如下: 复制 defgreeting(message):matchmessage.split():case["hello"]:print("this message says hello")case["hello",name]:print("This message is a personal gre...
Python 3.10 has the match case which is Structural Pattern Matching. I'm going to show you what it can do with examples!