当前位置: 首页 > news >正文

盐城建设局网站天津seo顾问

盐城建设局网站,天津seo顾问,电商网站功能模块图,公关做的好的网站这篇文章主要为大家介绍了Python3.10新特性之match语句示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪正文在Python 3.10发布之前,Python是没有类似于其他语言中switch语句的&…

这篇文章主要为大家介绍了Python3.10新特性之match语句示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

在Python 3.10发布之前,Python是没有类似于其他语言中switch语句的,要实现类似的功能最简单的方法就是通过if ... elif ... else ...语句,但是这样毕竟不够优雅,不够“Pythonic”

更推荐的做法是通过字典(dict)实现。

通过字典间接实现 switch

想要通过字典来实现条件分支语句,首先我们需要定义一个字典,来表示不同case和返回值/函数之间的映射关系,然后再利用字典的特性,即可以实现类似于switch的功能。下面定义一个简单的函数,传入不同的case就会打印不同的内容,也可以将打印内容的语句替换成你想要执行的函数:

1

2

3

4

5

6

7

8

9

defswitch(case):

mapping ={

1: "print('case 1')",

2: "print('case 2')"

}

returneval(mapping[case])

switch(1)

运行结果:

case 1

可以看到,输出结果正是我们想要的“case 1”的结果。

在Python 3.10出现之前,我们更多的是通过上面这种字典映射的方式,来实现类似于switch语句的功能。但是伴随着Python 3.10的发布,Python也终于迎来了自己的'switch'语句,也就是接下来我们重点介绍的match语句。

Python 3.10 新特性—— match 语句,参考资料:Python 3.10增加了比switch更强大的match表达式在运行以下代码之前,请先确保自己的Python版本大于等于3.10。和其他语言一样,当变量num满足哪个case的条件时,就会执行该条件下的对应代码:

1

2

3

4

5

6

7

8

num =5

match num:

case 10:

print('you lose')

case 5:

print('you win')

运行结果:

you win

当默认分支#当变量a不满足任意一个case条件时,如果我们没有对“其他“情况进行处理,那么是不会执行任何操作的。

下面的代码是不会有任何输出的,因为a不满足任意一个条件:

1

2

3

4

5

6

7

num =3

match num:

case 1:

print('num 1')

case 2:

print('num 2')

无输出

1

2

3

4

5

6

7

8

9

10

11

如果想要对”其他“情况进行处理,那么写法如下:

num =3

match num:

case 1:

print('num 1')

case 2:

print('num 2')

case default:

print('case default', default)

运行结果:

case default 3

可以看到,当变量a不符合任意一个条件时,就会运行到我们的default分支,同时会把变量值赋值给default变量。注意:这里的default仅仅只是一个变量名而已,并非规定写法,也可以使用其他变量名,例如x等。其作用就是在变量不符合任意一个分支条件时,将变量值赋值给该变量。

在case中使用元组

Python的match语句不仅支持数值类型的分支,也支持其他数据类型,例如元组(tuple)

1

2

3

4

5

6

7

8

a =(2, 4)

match a:

case (1, 2):

print('case 1')

case (2, x):

print('case 2', x)

运行结果:

case 24

可以看到,变量a在匹配到第二个分支条件时,还把元组的第二个元素值4赋值给了变量x。在case中使用判断语句#不仅如此,match语句还支持在分支条件中插入判断语句:

1

2

3

4

5

6

7

8

9

10

11

a =(2, 2)

flag =False

match a:

case (1, 2):

print('case 1')

case (2, x) ifflag:

print('case 2', x)

case default:

print('case default', default)

运行结果:

case default (2, 2)

由于第二个分支条件中if flag为False,不符合条件,所以代码进入到最后一个分支条件中。

以上就是Python3.10新特性之match语句示例详解的详细内容。

http://www.yidumall.com/news/56657.html

相关文章:

  • 专业做网站开发百度收录申请入口
  • 建设网站隐藏模块找回百度seo软件优化
  • 黄埔企业网站建设南宁网
  • 做宠物网站导航应该写什么字企业官网搭建
  • 网页ui设计作品欣赏周口seo公司
  • 桐城58网站在那里做域名服务器查询
  • 涛哥快速建站网站点击排名优化
  • 佛山门户网站建设世界杯最新排名
  • 列举常用动态网站开发技术seo站长
  • 百度上找不到网站竞价是什么工作
  • 广东哪家网站建宁波seo教程app推广
  • 大连个人做网站2023b站推广大全
  • 黄石做网站要多少钱中国企业网官方网站
  • 有没有便宜的注册代理如何优化网络连接
  • 制作网站的过程细节百度识图官网
  • 延安网站建设推广微信网站湖南seo优化公司
  • 有谁做过网站建设品牌策划方案怎么写
  • 在百度上做网站怎么做长沙网络营销学校
  • 个人建网站要花多少钱bt种子万能搜索神器
  • 滨州网站建设 远洋科技排名优化公司
  • 老域名查询网站seo去哪个网站找好
  • 免费网站建设教程百度seo优化规则
  • 郑州web网站建设公司怎么制作网站?
  • 网站优化的常见问题外汇交易平台
  • 有必要自建网站做导购吗刷百度关键词排名优化
  • 如何做微信朋友圈网站株洲发布最新通告
  • wordpress dux主题设置首页网站手机版排名seo
  • 为什么要建设应急管理网站有什么可以做推广的软件
  • 那些网站可以做h5沈阳seo排名收费
  • 不懂代码如何做网站百度搜索引擎seo