在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

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

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

創(chuàng)建子類

接下來,我們將創(chuàng)建不同的類來表示不同的條件,每個類都會根據(jù)條件來執(zhí)行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()方法進行了重寫.

構建實例

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

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

替換if else

創(chuàng)建一個函數(shù),利用dict_name字段的關鍵字條件調(diào)用不的類執(zhí)行execute()方法.

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

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

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

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

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

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

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

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

    關注

    3

    文章

    4346

    瀏覽量

    63022
  • 代碼
    +關注

    關注

    30

    文章

    4837

    瀏覽量

    69127
  • python
    +關注

    關注

    56

    文章

    4811

    瀏覽量

    85076
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

    JavaScript 【4】 條件語句

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

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

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

    FPGA學習系列:if-else與case

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

    python判斷語句的詳細說明

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

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

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

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

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

    詳解Python條件語句

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

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

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

    代碼如何優(yōu)化掉多余的if/else?

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

    Python條件條件語句

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

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

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

    python if 多條件并列判斷

    Python中的if語句允許我們根據(jù)條件執(zhí)行不同的代碼塊。有時候我們需要同時判斷多個條件是否滿足,并根據(jù)結果執(zhí)行不同的代碼塊。在這篇文章中,我們將會進行詳盡、詳實且細致的介紹。 首先,我們來看一
    的頭像 發(fā)表于 11-21 16:40 ?1939次閱讀
    主站蜘蛛池模板: 色秀视频免费高清网站 | 视色4se成人午夜精品 | 色爱区综合 | 2022天天干 | 久久青草18免费观看网站 | 一区二区三区视频 | 免费拍拍视频 | 久久国产乱子伦精品免 | 男人都懂的网址在线看片 | 400部大量精品情侣网站 | 乱妇伦小说 | 天天操夜夜操 | 精品卡1卡2卡三卡免费视频 | 久久九色 | 女生扒开尿口让男生舔 | 曰本a| 欧洲性freefree大白屁股 | 成人永久免费视频网站在线观看 | a级黑粗大硬长爽猛视频毛片 | 狠狠要 | 天天视频免费观看高清影视 | 日韩三级在线免费观看 | 不卡一级毛片免费高清 | 中文字幕成人乱码在线电影 | 日韩欧免费一区二区三区 | 22eee在线播放成人免费视频 | www.碰| 日本v片免费一区二区三区 日本www.色 日本wwwwww | 精品卡1卡2卡三卡免费网站视频 | 日本操穴 | 一级毛片日韩 | 思思久久好好热精品国产 | xxxx欧美 | 色香天天| 日韩一级片免费在线观看 | 老色歌uuu26 老湿成人影院 | 亚洲操综合 | 国产婷婷色 | 丝袜美腿视频一区二区三区 | 亚洲午夜久久久 | 二级黄绝大片中国免费视频 |