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

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

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

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

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

if...else...條件語句我相信學習python的童鞋們都喜歡用,例如下一面這一段

def func(param):
    if param == "cat":
        print("這是一只貓咪")
    elif param == "dag":
        print("這是一直狗狗")
    elif param == "pig":
        print("這是一只小豬")
    ...
    else:
      print("不知道是什么")

# 寫很長的一段if語句來判斷不同的情況

這段代碼的使用場景是滿足用戶可以完成在不同場景進行對應的操作,對應后端的代碼,你肯定能想到最簡單的實現(xiàn)方式就是上面的if ... else 語句。但是隨著你的場景不斷的增加,你的if else 代碼也跟著越來越長了。這帶來的一個問題就是系統(tǒng)的可擴展性差,后續(xù)的維護會變得舉步維艱。

對象特性

對象的三大特性: 封裝 、 繼承多態(tài)

封裝 :根據(jù)職責將屬性和?法封裝到?個抽象的類中; 增強代碼的安全性
繼承 :實現(xiàn)代碼的重?,相同的代碼不需要重復的編寫; 增強代碼的可重用性
多態(tài) :不同的對象調(diào)?相同的?法,產(chǎn)?不同的執(zhí)?結(jié)果; 增加代碼的靈活度,增強代碼的可擴展性

定義基礎類

首先,我們將定義一個基礎類,它將作為不同條件的父類。我們將在這個類中定義一個通用的方法,用于執(zhí)行操作。

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

    關(guān)注

    30

    文章

    4723

    瀏覽量

    68238
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4768

    瀏覽量

    84378
  • IF
    IF
    +關(guān)注

    關(guān)注

    1

    文章

    49

    瀏覽量

    26849
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

      if 語句通過關(guān)系運算符判斷表達式的真假來決定執(zhí)行哪個分支?! hell 有三種 if else格式:  if ... fi 格式  if ... else ... fi 格式
    發(fā)表于 09-03 14:20

    JavaScript 【4】 條件語句

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

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

    使用條件渲染語句時,條件渲染語句內(nèi)僅允許使用GridItem組件。二、更新機制 當if、else if后跟隨的狀態(tài)判斷中使用的狀態(tài)變量值變化時,條件
    發(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

    C語言的switch case多分支選擇語句的詳細資料說明

    1、switch-case開關(guān)語句是一種多分支選擇語句,用來實現(xiàn)多方向條件分支。雖然采用if-else條件判斷語句也可以實現(xiàn)多方向條件分支,
    發(fā)表于 07-12 17:39 ?1次下載
    C語言的switch case多分支選擇語句的詳細資料說明

    python判斷語句的詳細說明

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

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

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

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

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

    條件判斷語句(if語句)

    條件判斷語句,作為任何編程語言都不可缺少的內(nèi)容,在C語言中也不例外。條件判斷語句可以讓程序的功能更加復雜,從而實現(xiàn)各種各樣的功能。
    的頭像 發(fā)表于 02-21 15:24 ?3313次閱讀
    <b class='flag-5'>條件</b><b class='flag-5'>判斷</b>語句(if語句)

    詳解Python條件語句

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

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

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

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

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

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

    創(chuàng)建子類 接下來,我們將創(chuàng)建不同的類來表示不同的條件,每個類都會根據(jù)條件來執(zhí)行execute()方法來做某些事。 class Cat ( Animal ): def execute ( self
    的頭像 發(fā)表于 09-12 17:06 ?480次閱讀

    python if 多條件并列判斷

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