python的条件语句 -- if - elif - else条件语句和match - case 结构化模式匹配

if - elif - else

# Conditional statements

if age >= 18:
    print("You are an adult")
else:
    print("You are not an adult")

match与case 结构化模式匹配

import sys

match sys.argv[1]:
    case '1':
        print(1)
    case ['2',  '3']:
        print(2)
    case _:
        print('其他输入')

通过 sys.argv[1] 获取命令行参数的第一个值,然后使用模式匹配对其进行匹配。根据匹配的结果,执行相应的代码块。

_相当于通配符,但是只允许置于「最后」一个case中。这是python310的新功能。

模式匹配(Pattern Matching)语法在 Python 中是从上到下顺序进行匹配的。一旦找到与模式匹配的分支,就会执行该分支对应的代码块,并且不会继续匹配后续的模式。

有趣的是,我们还可以使用任意自定义变量名,在match-case的作用域内辅助通配匹配,从而实现类似下面例子的效果:

match (int(sys.argv[1]), int(sys.argv[2])):
    case (0, 0):
      print("原点")
    case (0, y):
      print(f"Y={y}")
    case (x, 0):
      print(f"X={x}")
    case (x, y):
      print(f"X={x}, Y={y}")
    case _:
      print('输入非法!')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值