如何理解 python中的switch

2020-12-16 百度經驗

python相比較其他語言像java,c++之類的還是更容易理解和使用的。我覺得比較奇怪的就是switch和lambda,當然其他也還有一些難點,現在我就來分析一下switch的用法。

我們以加減和一個隨意名字的函數來解析switch的用法,說白了也是很簡答嗎的。首先添加一個add的方法。

再添加一個相減的方法,同時加了print方便debug程序。

之後為了作對比,隨便寫了一個abc的方法。

建立一個字典,用『+』,『-』,『abc』分別作為key,對應相映的方法。

之後再加兩個方法,通過對於參數的調整,用字典的get『key』方法獲取函數,並且傳入參數。

試著用(1,『+』,5) 來實現1+5。

用(6,『-』,2) 來實現6-2,調用的都是同一個方法,參數不同,通過字典key獲取到的函數也不同,這就是我所理解的switch的用法。

最後,隨便試一下,用『abc』也可以,哈哈。

相關焦點

  • 為什麼Python中沒有switch語句?
    作者:pydanny原文:http://www.pydanny.com/why-doesnt-python-have-switch-case.html
  • Python實現switch/case用法案例
    實際中遇到的兩個問題?
  • Python中switch語句怎麼用,問愣了很多人
    今天我們來聊聊switch,斷斷續續的,學習Python編程已經學習很久了,最近要用到分支語句,就習慣性的想到了,switch-case語句,這個在大部分主流程式語言中都有,如C,C++,C#,Java等等。但是作為python編程愛好者的我,竟然剛剛才發現python語言中居然沒有switch-case語句!!
  • Python 為什麼不支持 switch 語句?
    它的用法不難理解:switch 語句的值滿足哪一個 case 情況,就會執行對應的代碼塊,執行時遇到 break 就跳出,否則就繼續執行下一個 case 分支;一般會在最後放一個 default 分支,作為兜底。
  • 5分鐘學會如何在Python中實現Switch-case
    在本文中,首先帶領大家領略Java語言中的Switch,隨後用實例教會大家如何用Python裡實現Switch相同效果。實例教會大家如何用Python裡實現Switch相同效果Switch-case語句是一種功能強大的編程功能,允許根據變量或表達式的值控制程序的流程。
  • 如何理解python中的類和對象?
    什麼是類和對象類和對象,在我們的生活中其實是很容易找例子的。類是一種把對象分組歸類的方法。比如動物,植物就可以看作是類,而大象,獅子就可以看作一個動物類中的對象;花,草可以看作是植物類中的對象。為什麼大象和獅子就劃分為動物類,花和草就劃分為植物類呢?
  • Python中如何實現Switch/Case語句?
    (點擊上方公眾號,可快速關注一起學Python)跟其它語言有所區別,Python中並沒有Switch/Case語句。
  • 關於python中bool類型的重要細節
    它看起來很簡單,僅包括True和False兩種類型,但你不一定真的了解它的細節……2002年3月,龜叔首次在PEP285中首次明確在python中引進布爾類型,並包括兩個實例:"True"和"False"布爾類型是int型的一個子類,意味著"True"=1,"False"=0:1print(True == 1) # 輸出True2print(False ==
  • 編程入門第六課,交換語句(switch,case)
    今天福哥會給童鞋們講講交換語句(switch,case)的使用方法,交換語句適合對一個變量的值等於不同內容的時候進行不同處理的情況。其實來說交換語句(switch,case)完全可以通過條件語句(if)來替代,不過使用交換語句可以有更高的執行效率,還可以讓代碼結構看起來更加清晰,所以如果情況適合的時候福哥還是推薦使用交換語句來編寫代碼2.
  • Python遊戲編程
    為了達到這一目的,本課程應用python語言的語法知識帶領學生從無到有的開發遊戲,通過每個遊戲項目逐步應用學到的語法知識,在實際編程中加深體會。在課程設計中儘量站在初學者的角度,降低開發遊戲的難度,從而方便學生理解及掌握遊戲編程的基本原理和實現方法,逐步提高學生對編程的興趣和能力。
  • 深入淺出 + 徹底理解 Python 編碼
    我們在shell中鍵入python以打開python命令行,並鍵入如下兩句話: s = "中國zg" e  = s.encode("utf-8")現在的問題是:這段代碼能運行嗎?所有的字符串都這樣做,就可以確保在程序運行過程中,各種來源獲得的字符串都有一樣的表示。它們就可以方便地進行各種操作了。上面說的 int數組會被python封裝成一個對象,即unicode對象。問題4:如何搞定?
  • 關於python中bool類型,你需要知道這些細節…
    中首次明確在python中引進布爾類型,並包括兩個實例:"True"和"False"布爾類型是int型的一個子類,意味著"True"=1,"False"=0:1print(True == 1) # 輸出True2print(False == 0) # 輸出True1True + 2 # 輸出323 * False # 輸出
  • Python基本語法V1.5
    介紹1.1 介紹Python這種腳本語言福哥已經給大家介紹過了,現在童鞋們應該已經會安裝python的開發環境了,接下來我們需要針對python語言進行一個系統的學習。首先學習一門程式語言最先要學習的是語言的語法,學習程式語言的語法包括常量與變量、輸入與輸出、條件語句(if)、循環語句(for,while)、交換語句(switch,case)、函數(function)、對象(class),這個和之前福哥帶著童鞋們接觸c/c++、java、php三種主流程式語言的基本語法的順序是一樣的。
  • 模擬男程式設計師的約會時間表,深度理解if語句與switch語句的差異
    利用javascript程式語言,模擬戀愛中男程式設計師的約會時間表,深度理解if語句與switch語句的差異。在javascript編程中,流程制語句if與switch,是兩個非常重要的編程語句,也是有著密切關係的編程語句。
  • Python單元測試——深入理解unittest
    單元測試的重要性就不多說了,可惡的是python中有太多的單元測試框架和工具,什麼unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover,再加上setuptools, distutils等等這些,先不說如何寫單元測試,光是怎麼運行單元測試就有
  • 如何在Stata16中調用Python
    :可進入Python環境,但這種進入並不穩定,一旦出現錯誤就會回到Stata環境中。2 數據交互本節介紹如何在Stata的數據類型和Python的數據類型之間進行轉換。其適用情境為:數據已經在Stata內存(數據編輯器)中,但想要使用Python的方法;比如,我們已經加載auto.dta數據集,但希望使用Python的matplotlib庫繪製一個以length為橫軸、weight為縱軸、price為尺寸的散點圖,並保存為dpi為300的png格式。
  • 新手入門如何選擇switch
    還在為如何選擇switch煩惱嗎?,遊玩上十分的方便,你可以在世界各個地區的switch eshop上購買遊戲,和世界各地的switch玩家一起線上遊戲,各版實體卡和數字版遊戲互通,不鎖區不鎖服國行版switch是鎖區的,無法登陸其它地區版本的switch eshop購買數字版遊戲和後續的遊戲dlc更新,無法和其它地區的switch聯機玩遊戲,國行本身的eshop發布至今只有一款遊戲馬裡奧u(
  • 如何在Python中使用eval ?
    稍後將在本文中顯示對global(全局變量)s和locals(本地變量)的使用。eval在Python中做什麼?eval函數解析expression參數並將其評估為python表達式。換句話說,我們可以說這個函數解析了傳遞給它的表達式並在程序中運行python expression(code)。
  • Java中有趣的switch,你不知道的switch用法-第14節
    就是switch中的變量,變量是多少,就會匹配到具體的case中,只要匹配到了某一個case,就會一直執行到方法結束,這是switch的特性。注意case中是不能寫變量的,必須是常量舉個例子,看下圖:上邊通過System.in接收控制臺輸入,上一篇文章已經詳細講解過System.in了。那接收到輸入值之後可以轉換為int類型。轉換完成後,作為switch中的變量,根據此變量的具體值來決定到底去執行那個case中的邏輯。
  • 深入理解Python 類型和對象
    本書為掌握新式(new-style)屬性訪問及descriptors, properties等機制提供了所需的底層的要點。如果只對屬性方法感興趣,請移步至 Python Attributes and Methods, 閱讀之後也就理解了本書的 Summary. python之旅快樂?Happy pythoneering! 1.