吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 389|回复: 3
收起左侧

[学习记录] python模式匹配

[复制链接]
nei 发表于 2024-4-16 11:59
本帖最后由 nei 于 2024-4-16 12:03 编辑

使用if,else,elif时,需要些很长一段代码;针对某个变量匹配若干情况可以使用match
x = 'B'
if x == 'A':
    print('x is A.')
elif x == 'B':
    print('x is B.')
elif x == 'C':
    print('x is C.')
else:
    print('无.')

可以改为:
x = 'B'
match x:
    case 'A':
        print('x is A.')
    case 'B':
        print('x is B.')
    case 'C':
        print('x is C.')
    case _: # _表示匹配到其他任何情况
        print('无')



match还可以匹配多个值和范围:


age = 15
match age:
    case x if x < 10:
        print(f'{x} 小于10 years old')
    case 10:
        print('10 years old')
    case 11|12|13|14|15|16:
        print('11-16')
    case 17|18:
        print('要成年了')
    case _:
        print('没有未成年的限制了')



match还可以匹配列表:

a = ['a','b.com','c.txt','d.txt']
match a :
    case['a']:
        print('仅仅只有a')
    case['a',domain,*files]:
        print('a: ' + domain +','+','.join(files)) #','.join(files)表示用,来连接files
    case _:
        print('错误')

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
py学徒 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qylisten 发表于 2024-4-16 16:06
学习了,感谢!!
1e3e 发表于 2024-4-16 16:21
shengforever 发表于 2024-4-16 16:44
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-13 04:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表