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('输入非法!')