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

phpcms v9网站建设入门/重庆网站排名提升

phpcms v9网站建设入门,重庆网站排名提升,简单网站建设教程,长沙公司网站建设前言众所周知,大多数语言都有 switch-case 语句,但是作为红极一时的 Python,它却没有。今天,它终于来了。2021 年 2 月 8 日,指导委员会通过了 PEP 634, PEP635, PEP636,至此,Python 总算拥有了…

前言

众所周知,大多数语言都有 switch-case 语句,但是作为红极一时的 Python,它却没有。今天,它终于来了。2021 年 2 月 8 日,指导委员会通过了 PEP 634, PEP635, PEP636,至此,Python 总算拥有了功能和 switch-case 相同的 match-case, 我们再也不用再写一连串的 if-else 了。

展示

单个匹配

即用一个参数同多种属性进行比较。

def http_error(status):match status:case 400:return "Bad request"case 401:return "not auth"case 403:return "not allow"case 404:return "not found"case 418:return "418"case _:return "else"

如上,其中 case _意为当其他 case 都无法匹配时,就匹配这条,可以达到永远不会匹配失败的效果。

多个匹配

即使用 | 将多个匹配值组合起来。

  ...case 401|403|404:return "err"

模式匹配

模式也可以是解包操作,用于绑定变量。

# 主题表达式是一个(x, y)元组
match point:case (0, 0):print("00")case (0, y):print("0y")case (x, 0):print("x0")case (x, y):print("xy")case _:raise ValueError("err")

注意,第一个模式中有两个字面量,可以看作是上述普通模式的加强版。但是后两个模式有些不同,元组中一个是字面量一个是变量,这个变量会捕获主题元组中的值。同理,第四个模式 case (x, y) 会捕获两个值,这在理论上与解包作业相似,就如同 point(x, y) = point

数据类型匹配

如果使用了结构数据类,比如 dataclasses,可以用类似于构造函数 类名+参数列表 的形式,但是用来捕获变量。

from dataclasses import dataclass@dataclass
class Point:x: inty: intdef whereis(point):match point:case Point(0, 0):print("00")case Point(0, y):print("0y")case Point(x, 0):print("x0")case Point():print("P")case _:print("else")

关键字参数匹配

也可以使用关键字参数。下列关于 y, var 的模式都是等价的,并且都将属性绑定到了变量上。

Point(1, var)
Point(1, y=var)
Point(x=1, y=var)
Point(y=var, x=1)

模式嵌套

模式可以被简单粗暴的嵌套起来,例如我们有一组 points 的列表,就可以像这样匹配。

match points:case []:print("none")case [Point(0, 0)]:print("00")case [Point(x, y)]:print("xy")case [Point(0, y1), Point(0, y2)]:print(f"y1,y2")case _:print("else")

条件模式

给模式添加 if 从句以充当门卫。如果为假,就移步到下一个 case。注意,模式捕获值发生在从句执行前。

match point:case Point(x, y) if x == y:print("x==y")case Point(x, y):print("x!=y")

子模式

子模式可以使用 as 捕获。

case (Point(x1, y1), Point(x2, y2) as p2): ...

常量模式

模式可以使用命名的常量,且必须使用.以防止被解释为捕获变量。

from enum import Enum
class Color(Enum):RED = 0GREEN = 1BLUE = 2match color:case Color.RED:print("red!")case Color.GREEN:print("green")case Color.BLUE:print("blue")

等同 is

某些字面量会被特殊对待,例如 None, False, True,是使用 is 完成匹配的。

例如:

match b:case True:print("ok!")

就完全等价与这样

    ...if b is True:print("ok!")

往期推荐

史上最全Pandas 教程!

PrettyTable | 美丽的表格

2020 年度实用工具 Top 100推荐!

Jmeter怎么获取token?

超好用的 10款 VSCode 扩展插件

网页长截图竟如此简单

一个员工的离职成本,很恐怖!

FastApi-01-初识

FastApi-02-路径参数

FastApi-03-查询参数

FastApi-04-请求体-1

FastApi-05-请求体-2

FastApi-06-请求体-3

FastApi-07-查询参数校验

FastApi-08-路径参数校验

FastApi-09-模型嵌套

FastApi-10-Example

FastApi-11-模板渲染

FastApi-12-Form表单

文章好看点这里

http://www.lbrq.cn/news/1241011.html

相关文章:

  • r语言做网站/关键词seo排名怎么选
  • 在线阅读网站开发教程/百度官方网平台
  • 香港空间做网站速度慢的解决方法/海外网络推广服务
  • 西城 网站公安备案/厦门seo推广外包
  • 信阳高端网站建设/网络营销师证书怎么考
  • 怎么个人网站设计/企业宣传标语
  • 电商网站怎么推广/网站客服系统
  • 网站维护好的方法/域名注册网站
  • 为什么网站不建议做充值功能/原版百度
  • 广东做网站的公司/百度竞价推广开户费用
  • php网站 怎么取得后台管理权限/郑州seo培训班
  • 网站建设的基本流程规范/今日关注
  • 郑州做的比较好网站公司吗/如何做百度竞价推广
  • 网站为什么做优化ppt/b站网站推广
  • 网站建设推荐中企动力/手机百度账号登录个人中心
  • wordpress 模板分页/广州优化疫情防控举措
  • seo人才/成都seo正规优化
  • 怎么做好网站/网站关键词优化建议
  • 网站备案周期/windows优化大师会员
  • 推荐家居企业网站建设/怎么下载有风险的软件
  • 庐江网站建设/湖北百度关键词排名软件
  • 做网站怎样更改背景/排行榜
  • 山东网站/拼多多关键词优化是怎么弄的
  • 做外包软件的网站/seo的作用有哪些
  • 网站建设属于什么专业/网站推广交换链接
  • 做外贸网站平台有哪些内容/深圳网络优化seo
  • 中卫平面设计师招聘/青岛网络优化费用
  • 做网站用什么好/成都百度推广联系方式
  • 医疗器械公司网站建设/百度网页版电脑版
  • wordpress页面导航条/天津外贸seo推广
  • react 和 react native 的开发过程区别
  • 深入 Go 底层原理(十五):cgo 的工作机制与性能开销
  • 小迪23-28~31-js简单回顾
  • 机试01-C++基础语法与库函数
  • 2025.8.1
  • 德国威乐集团亚太中东非洲PMO负责人和继明受邀为PMO大会主持人