python 3.11新特性

1. 结构模型匹配

语法结构:
match data:
  case {}:
      pass
  case []:
      pass
  case ():
      pass
  case _:
      pass
----------
data = eval(input('请输入要匹配的数据:'))
match data:
  case {'name':'kyle','age':20}:
      print("字典")
  case [1,2,3]:
      print("列表")
  case (1,2,3):
      print("元组")
  case _:
      print("None")

2. 字典合并运算符|

d1 = {'kyle':10,'age':20}
print(d1)   #{'kyle': 10, 'age': 20}
d2 = {'rock':10,'tail':20}
print(d2)   #{'rock': 10, 'tail': 20}
d3 =d1 | d2
print(d3)   #{'kyle': 10, 'age': 20, 'rock': 10, 'tail': 20}

3. 同步迭代

 fruits = {'apple','banana','orange','pear'} # 集合无序
count = [1,3,5,7]
for f,c in zip(fruits,count):
    match f,c:
        case 'apple',1:
            print('10个苹果')
        case 'banana',3:
            print('3个香蕉')
        case 'orange', 5:
            print('5个橙子')
        case 'pear',7:
            print('7个梨')
# 由于集合无序,所以不一定对的上
将集合换成列表即可
 fruits = ['apple','banana','orange','pear']

# 换成列表结果:
10个苹果
3个香蕉
5个橙子
7个梨
posted @ 2025-02-22 22:30  kyle_7Qc  阅读(43)  评论(0)    收藏  举报