''' 匹配语句match,Python 3.10版本引入的一种模式匹配方法 它提供了一种简洁而强大的方式来匹配和处理不同模式的逻辑,当成功匹配一个模式时,就执行该模式后的代码块 match语句适用于精准值的匹配,不适用于范围值的判断 ''' ''' 基本语法结构 match value: case pattern1: #处理pattern1匹配成功的情况 case pattern2: #处理pattern2匹配成功的情况 ... case patternN: #处理patternN匹配成功的情况 case _: #处理所有其他情况的匹配(相当于默认情况)一个匹配语句中只能出现一个任意匹配值 ''' #match表示匹配模式的开始 #value表示需要进行匹配的目标值 #case表示提供一个匹配模式 #pattern表示被匹配的值,该值一般为一个字面量值 #_ 表示当所有模式都为匹配成功,则执行该模式下的代码块,本质上是一个变量,用来匹配任意值 def match_info(): # httpcode = int(input('请输入一个HTTP状态码:')) # httpcode1 = int(input('请输入一个HTTP状态码:')) # #匹配一个值 # match httpcode: # case 101: # print('临时响应') # case 200: # print('请求成功') # case 301: # print('重定向') # case 404: # print('页面找不到') # case 500: # print('服务器内部错误') # case _: # print('无效的状态码') # #用 | (或) 组合多个匹配值 # match httpcode1: # case 101 | 102: # print('临时响应') # case 200 | 202 | 203: # print('请求成功') # case 301 | 302 | 303: # print('重定向') # case 404 | 402 | 403: # print('页面找不到') # case 500 | 501 | 502: # print('服务器内部错误') # case _: # print('无效的状态码') ''' 匹配模式绑定变量 提供匹配值时,除了可以提供字面值,还可以提供变量,用来匹配任意值,如_,但是在一个匹配语句中只能有一个独立的匹配变量 如果需要动态匹配部分数据,比如一个元组中的部分值,此时可以通过绑定变量的方式,提供一个字面值和变量的混合匹配模式, 字面值用来精确匹配,变量用来模糊匹配 ''' x = int(input('x:')) y = int(input('y:')) point = (x,y) match (x,y): case (0,0): print('这是坐标原点') case (0,y): print('坐标点在y轴上') case (x,0): print('坐标点在x轴上') case (x, y): print('坐标点不在坐标轴上:'f'x={x},y={y}') case _: print('没有这个坐标点') #一个匹配语句中只能出现一个任意匹配值 match 1: case x: print('hgfhs') # case _: #报错 # print('hjsgh') if __name__ == '__main__': match_info() # none_value()
Python-匹配语句-match
于 2023-12-16 00:21:34 首次发布