Python-匹配语句-match

'''
匹配语句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()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值