Python3.10新特性之match语句

2023-05-27 0 697

责任编辑主要如是说Python 3.10带来的新优点——match句子。在Python 3.10正式发布以后,Python是没近似于其它词汇中switch句子的,要同时实现类似于的机能最单纯的方法是透过if … elif … else …句子,但这样即便不如典雅,不如“Pythonic”透过词典间接地同时实现 switch想透过词典来同时实现前提组成部分句子,具体来说他们需要表述两个词典,来表示相同case和返回值/函数之间的态射关系,然后再利用词典的优点,即能同时实现近似于switch的机能。下面表述两个单纯的函数,传至相同的case就会列印相同的文本,也能将列印文本的句子换成你想继续执行的函数:def switch(case): mapping ={ 1:”print(case 1)”,2:”print(case 2)”} return eval(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的前提时,就会继续执行该前提下的相关联标识符:num =5match num: case 10: print(you lose) case 5: print(you win)运转结论:you win当预设组成部分#当函数a不满足用户任一两个case前提时,假如他们没对“其它“情形展开处置,所以是不能继续执行任何人操作方式的。下面的标识符是不能有任何人输入的,因为a不满足用户任一两个前提:num =3match num: case 1: print(num 1) case 2: print(num 2)无输入假如想对”其它“情形展开处置,所以读法如下表所示:num =3match 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)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句子还全力支持在组成部分前提中填入推论句子:a =(2,2)flag = Falsematch a: case (1,2): print(case 1) case (2, x) if flag: print(case 2, x) case default: print(case default, default)运转结论:case default (2,2)由于第三个组成部分前提中if flag为False,不合乎前提,所以标识符进入到最后两个组成部分前提中。展毛:以上是Python 3.10的新优点——match句子。

Python3.10新特性之match语句

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务