日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python 的 match 有點好用,推薦試試

來源: 責編: 時間:2023-12-18 17:36:57 242觀看
導讀Match 和 switch 都是控制流語句,但它們在語法和用法上有一些區別。(1) 語法:switch 語句通常在其他編程語言中使用,如 C、C++、Java 等。它的語法通常是 switch(expression) { case value1: ... case value2: ... defau

Match 和 switch 都是控制流語句,但它們在語法和用法上有一些區別。k4N28資訊網——每日最新資訊28at.com

k4N28資訊網——每日最新資訊28at.com

(1) 語法:k4N28資訊網——每日最新資訊28at.com

  • switch 語句通常在其他編程語言中使用,如 C、C++、Java 等。它的語法通常是 switch(expression) { case value1: ... case value2: ... default: ... }。
  • match 語句是 Python 3.10 引入的新特性,它的語法是 match subject: case pattern_1: ... case pattern_2: ... case _: ...。

(2) 匹配模式:k4N28資訊網——每日最新資訊28at.com

switch 語句通常只能匹配整數或枚舉類型,而 match 語句可以匹配更復雜的模式,包括字符串、列表、元組等。k4N28資訊網——每日最新資訊28at.com

(3) 執行順序:k4N28資訊網——每日最新資訊28at.com

  • switch 語句通常會按照 case 的順序執行,直到找到匹配的 case 為止。如果沒有找到匹配的 case,那么就會執行 default 分支。
  • match 語句會按照 case 的順序執行,直到找到匹配的 case 為止。如果沒有找到匹配的 case,那么就會執行 _ 分支。

(4) 性能:k4N28資訊網——每日最新資訊28at.com

  • switch 語句通常比 match 語句更快,因為它可以直接跳轉到匹配的 case。
  • match 語句的性能通常比 switch 語句差,因為它需要逐個檢查每個 case。

總的來說,match 和 switch 都是控制流語句,但它們在語法、匹配模式、執行順序和性能等方面有一些區別。k4N28資訊網——每日最新資訊28at.com

在 Python 3.10 中,引入了 match 語句作為 switch 語句的更強大版本。match 語句可以用于模式匹配,這是一種更靈活和可讀性更高的方式來匹配值。k4N28資訊網——每日最新資訊28at.com

match 語句的基本語法如下:k4N28資訊網——每日最新資訊28at.com

pythonmatch subject:    case pattern_1:        # code to execute if subject matches pattern_1    case pattern_2:        # code to execute if subject matches pattern_2    ...    case _:        # code to execute if subject does not match any of the patterns

其中,subject 是要匹配的值,pattern_1 和 pattern_2 是匹配模式,_ 是一個特殊的模式,用于匹配任何值。k4N28資訊網——每日最新資訊28at.com

例如,我們可以使用 match 語句來匹配一個整數的值:k4N28資訊網——每日最新資訊28at.com

pythondef http_error(status):    match status:        case 400:            return "Bad request"        case 404:            return "Not found"        case 418:            return "I'm a teapot"        case _:            return "Something's wrong with the internet"

在這個例子中,match 語句會嘗試匹配 status 的值,并執行相應的代碼。如果 status 的值不匹配任何一個模式,那么就會執行 _ 模式對應的代碼。k4N28資訊網——每日最新資訊28at.com

match 語句也可以匹配更復雜的模式,例如,我們可以匹配一個元組:k4N28資訊網——每日最新資訊28at.com

pythonmatch point:    case (0, 0):        print("Origin")    case (0, y):        print(f"Y={y}")    case (x, 0):        print(f"X={x}")    case (x, y):        print(f"X={x}, Y={y}")    case _:        raise ValueError("Not a point")

在這個例子中,match 語句會嘗試匹配 point 的值,并執行相應的代碼。如果 point 的值不匹配任何一個模式,那么就會引發 ValueError 異常。k4N28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-48740-0.htmlPython 的 match 有點好用,推薦試試

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Finally中的代碼一定會執行嗎?

下一篇: 理解C++之類模板

標簽:
  • 熱門焦點
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • 6月安卓手機好評榜:魅族20 Pro蟬聯冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 6月安卓手機性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發布之前,性能榜的榜單大體會以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領先
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現了一個流處理程序
  • 一文看懂為蘋果Vision Pro開發應用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現實(MR)頭戴設備。Vision Pro結合了虛擬現實(VR)和增強現實(AR)的沉浸感。其高分辨率顯示屏、先進的傳感器和強大的處理能力
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 2299元起!iQOO Pad明晚首銷:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發布會,除了首發安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發布會上推出了旗下首款平板電腦——iQOO Pad,其最大的賣點
  • 英特爾Xe-HP項目終止,將專注Xe-HPC/HPG系列顯卡

    據10 月 31 日消息報道,英特爾高級副總裁兼加速計算系統和圖形事業部總經理 表示,Xe-HP“ Arctic Sound” 系列服務器 GPU 已經應用于 oneAPI devcloud 云服
  • 英特爾Xe HPG游戲顯卡:擁有512EU,單風扇版本

    據10 月 30 日外媒 TheVerge 消息報道,英特爾 Xe HPG Arc Alchemist 的正面實被曝光,不僅擁有 512 EU 版顯卡,還擁有 128EU 的單風扇版本。另外,這款顯卡 PCB
Top 主站蜘蛛池模板: 信宜市| 富宁县| 洛隆县| 靖边县| 福泉市| 大田县| 成都市| 临城县| 永宁县| 龙门县| 丰镇市| 祁门县| 洪江市| 筠连县| 敦化市| 万荣县| 文成县| 承德市| 定陶县| 任丘市| 红桥区| 百色市| 格尔木市| 法库县| 临泉县| 湘潭市| 兴宁市| 开远市| 建宁县| 乐平市| 根河市| 尼勒克县| 巴马| 嘉黎县| 彩票| 大理市| 兰溪市| 苗栗县| 威信县| 昆山市| 镇巴县|