精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何解決冗長的if...else條件判斷(下)

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:Python都知道 ? 2023-09-12 17:06 ? 次閱讀

創建子類

接下來,我們將創建不同的類來表示不同的條件,每個類都會根據條件來執行execute()方法來做某些事。

class Cat(Animal):
    def execute(self):
        print("say miao~miao~!")

class Dog(Animal):
    def execute(self):
        print("say wang~wang~!")

class Pig(Animal):
    def execute(self):
        print("say hang~hang~!")

在這里我們會用到對象的其中一個特性:繼承,我們繼承的基類Animal,并且對execute()方法進行了重寫.

構建實例

我們可以用一個字典或者工廠方法來實現通過一個支付類型來找到對應的具體支付實例對象。

dict_name = {
     "cat": Cat(),
     "dog": Dog(),
     "pig": Pig(),
}

替換if else

創建一個函數,利用dict_name字段的關鍵字條件調用不的類執行execute()方法.

def func(anmial):
  dict_name.get(animal).execute()

# 執行函數
func("cat")
# 輸出:say miao~miao~!

func("dog")
# 輸出:say wang~wang~!

func("pig")
# 輸出:say hang~hang~!

使用這種方式可以更好的將代碼邏輯分離開來,比起冗長的if else,直接使用func函數是不是看起來簡單多了。

通過使用對象特性,我們將條件判斷從if...else語句中移出,代之以使用不同類來實現不同的操作。這種方法的好處是,我們可以在代碼中更清楚地看到每個條件對應的操作,特別是對于那種需要判斷很多中條件,提高了可讀性和可維護性。

最后,我想告訴大家的是,并不是什么場景都非要用類的特性來解決 if...else 語句的。如果 if else 中的邏輯本來就很清晰,就沒必要生搬硬套用上面的方法去解決了,對此我們需要根據實際業務去隨機應變。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4307

    瀏覽量

    62432
  • 代碼
    +關注

    關注

    30

    文章

    4750

    瀏覽量

    68357
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84456
收藏 人收藏

    評論

    相關推薦

    C語言中if語句、if-else語句和switch語句詳解

    在C語言中,有三種條件判斷結構:if語句、if-else語句和switch語句。
    發表于 08-18 16:36 ?1.2w次閱讀
    C語言中if語句、if-<b class='flag-5'>else</b>語句和switch語句詳解

    C語言條件結構的使用方法

    前面討論了簡單的條件結構。條件結構用于實現需要判斷的情況,它以一個邏輯條件成立與否為條件,決定一個操作的執行或不執行,或執行兩個不同的操作。
    發表于 11-02 11:27 ?1992次閱讀
    C語言<b class='flag-5'>條件</b>結構的使用方法

    Linux Shell系列教程之Shell判斷 if else用法

      if ... elif ... else ... fi 格式  下面我就分別就這幾種格式來為大家詳細介紹。  一、Shell判斷語法之if ... else 格式  if ...
    發表于 09-03 14:20

    JavaScript 【4】 條件語句

    JavaScript if...Else 語句條件語句用于基于不同的條件來執行不同的動作。條件語句通常在寫代碼時,您總是需要為不同的決定來執行不同的動作。您可以在代碼中使用
    發表于 07-17 10:36

    HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制if/else條件渲染

    ArkTS提供了渲染控制的能力。條件渲染可根據應用的不同狀態,使用if、elseelse if渲染對應狀態的UI內容。說明:從API version 9開始,該接口支持在ArkTS
    發表于 08-21 14:29

    FPGA學習系列:if-else與case

    的邏輯。?設計原理:?if...else 條件語句的作用是根據指定的端盤條件是否滿足來確定下一步要執行的操作他們的書寫格式如下(1)if (條件語句) ????(2)if(
    的頭像 發表于 06-01 16:59 ?1.2w次閱讀
    FPGA學習系列:if-<b class='flag-5'>else</b>與case

    python判斷語句的詳細說明

    python判斷語句:if 1. 簡單小例子 如果滿足條件 A,則執行代碼塊 a,否則執行代碼塊 b。類似這樣的控制流程語句,稱之為條件語句。 它的基本形式是 if 判斷
    的頭像 發表于 02-25 16:22 ?2331次閱讀

    利用Java 8的Function接口來消滅if...else

    在開發過程中經常會使用if...else...進行判斷拋出異常、分支處理等操作。這些if...else...充斥在代碼中嚴重影響了代碼代碼的美觀,這時我們可以利用Java 8的Function接口來消滅if...
    的頭像 發表于 04-21 10:23 ?2651次閱讀

    解鎖新姿勢:干掉過多的if-else

    這點非常容易理解,就是說在業務邏輯里面,先把不符合條件的給先過濾掉,而不是層層嵌套if-else判斷
    的頭像 發表于 11-12 10:01 ?642次閱讀

    詳解Python條件語句

    在 Python 中,if...else 是一種條件語句,可以根據給定的條件執行不同的操作。這個語句通常用于控制程序的流程。
    的頭像 發表于 04-19 15:39 ?779次閱讀

    在Python中的if...else條件語句介紹

    在 Python 中,if...else 是一種條件語句,可以根據給定的條件執行不同的操作。這個語句通常用于控制程序的流程。
    的頭像 發表于 04-19 15:43 ?1114次閱讀

    代碼如何優化掉多余的if/else?

    的if/else? 1. 提前 return 這是判斷條件取反的做法,代碼在邏輯表達上會更清晰,看下面代碼: if (condition) { // do something} else
    的頭像 發表于 06-22 10:01 ?755次閱讀
    代碼如何優化掉多余的if/<b class='flag-5'>else</b>?

    Python條件條件語句

    )。if...else...搭配,若if語句為False,不執行if的語句塊,而去else的語句塊。 1 #if...else...語句
    的頭像 發表于 09-12 16:45 ?577次閱讀

    何解冗長if...else條件判斷(上)

    if...else...條件語句我相信學習python的童鞋們都喜歡用,例如下一面這一段 def func ( param ): if param == "cat" : print ( "這是一只
    的頭像 發表于 09-12 17:03 ?650次閱讀

    python if 多條件并列判斷

    Python中的if語句允許我們根據條件執行不同的代碼塊。有時候我們需要同時判斷多個條件是否滿足,并根據結果執行不同的代碼塊。在這篇文章中,我們將會進行詳盡、詳實且細致的介紹。 首先,我們來看一
    的頭像 發表于 11-21 16:40 ?1737次閱讀